From 67dbb7907a99197a3e9135beb0177e698f757f4e Mon Sep 17 00:00:00 2001 From: Armin Novak Date: Wed, 17 Mar 2021 09:37:10 +0100 Subject: [PATCH] Fixed destination buffer offset in planar_decompress --- libfreerdp/codec/planar.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/libfreerdp/codec/planar.c b/libfreerdp/codec/planar.c index 8588a9e21..fa1a1ef29 100644 --- a/libfreerdp/codec/planar.c +++ b/libfreerdp/codec/planar.c @@ -834,6 +834,7 @@ BOOL planar_decompress(BITMAP_PLANAR_CONTEXT* planar, const BYTE* pSrcData, UINT BYTE* pTempData = planar->pTempData; UINT32 nTempStep = planar->nTempStep; UINT32 nTotalHeight = planar->maxHeight; + BYTE* dst = &pDstData[nXDst * GetBytesPerPixel(DstFormat) + nYDst * nDstStep]; if (useAlpha) TempFormat = PIXEL_FORMAT_BGRA32; @@ -928,8 +929,8 @@ BOOL planar_decompress(BITMAP_PLANAR_CONTEXT* planar, const BYTE* pSrcData, UINT srcp++; /* pad */ } - if (prims->YCoCgToRGB_8u_AC4R(pTempData, nTempStep, pDstData, DstFormat, nDstStep, w, h, - cll, useAlpha) != PRIMITIVES_SUCCESS) + if (prims->YCoCgToRGB_8u_AC4R(pTempData, nTempStep, dst, DstFormat, nDstStep, w, h, cll, + useAlpha) != PRIMITIVES_SUCCESS) return FALSE; }