[codec,interleaved] fix type definition
This commit is contained in:
parent
9a9db5b7f3
commit
730c621699
@ -219,7 +219,7 @@ static INLINE BOOL RLEDECOMPRESS(const BYTE* pbSrcBuffer, UINT32 cbSrcBuffer, BY
|
||||
|
||||
if (code == LITE_SET_FG_FG_RUN || code == MEGA_MEGA_SET_FG_RUN)
|
||||
{
|
||||
if (!buffer_within_range(pbSrc + sizeof(fgPel), pbEnd))
|
||||
if (!buffer_within_range(pbSrc, PIXEL_SIZE, pbEnd))
|
||||
return FALSE;
|
||||
SRCREADPIXEL(fgPel, pbSrc);
|
||||
}
|
||||
@ -248,10 +248,10 @@ static INLINE BOOL RLEDECOMPRESS(const BYTE* pbSrcBuffer, UINT32 cbSrcBuffer, BY
|
||||
if (advance == 0)
|
||||
return FALSE;
|
||||
pbSrc = pbSrc + advance;
|
||||
if (!buffer_within_range(pbSrc + sizeof(pixelA), pbEnd))
|
||||
if (!buffer_within_range(pbSrc, PIXEL_SIZE, pbEnd))
|
||||
return FALSE;
|
||||
SRCREADPIXEL(pixelA, pbSrc);
|
||||
if (!buffer_within_range(pbSrc + sizeof(pixelB), pbEnd))
|
||||
if (!buffer_within_range(pbSrc, PIXEL_SIZE, pbEnd))
|
||||
return FALSE;
|
||||
SRCREADPIXEL(pixelB, pbSrc);
|
||||
|
||||
@ -271,7 +271,7 @@ static INLINE BOOL RLEDECOMPRESS(const BYTE* pbSrcBuffer, UINT32 cbSrcBuffer, BY
|
||||
if (advance == 0)
|
||||
return FALSE;
|
||||
pbSrc = pbSrc + advance;
|
||||
if (!buffer_within_range(pbSrc + sizeof(pixelA), pbEnd))
|
||||
if (!buffer_within_range(pbSrc, PIXEL_SIZE, pbEnd))
|
||||
return FALSE;
|
||||
SRCREADPIXEL(pixelA, pbSrc);
|
||||
|
||||
@ -291,13 +291,15 @@ static INLINE BOOL RLEDECOMPRESS(const BYTE* pbSrcBuffer, UINT32 cbSrcBuffer, BY
|
||||
return FALSE;
|
||||
pbSrc = pbSrc + advance;
|
||||
|
||||
if (!buffer_within_range(pbSrc + sizeof(fgPel), pbEnd))
|
||||
return FALSE;
|
||||
if (code == LITE_SET_FG_FGBG_IMAGE || code == MEGA_MEGA_SET_FGBG_IMAGE)
|
||||
{
|
||||
if (!buffer_within_range(pbSrc, PIXEL_SIZE, pbEnd))
|
||||
return FALSE;
|
||||
SRCREADPIXEL(fgPel, pbSrc);
|
||||
}
|
||||
|
||||
if (!buffer_within_range(pbSrc, runLength / 8, pbEnd))
|
||||
return FALSE;
|
||||
if (fFirstLine)
|
||||
{
|
||||
while (runLength > 8)
|
||||
@ -316,8 +318,8 @@ static INLINE BOOL RLEDECOMPRESS(const BYTE* pbSrcBuffer, UINT32 cbSrcBuffer, BY
|
||||
{
|
||||
while (runLength > 8)
|
||||
{
|
||||
bitmask = *pbSrc;
|
||||
pbSrc = pbSrc + 1;
|
||||
bitmask = *pbSrc++;
|
||||
|
||||
pbDest = WRITEFGBGIMAGE(pbDest, pbDestEnd, rowDelta, bitmask, fgPel, 8);
|
||||
|
||||
if (!pbDest)
|
||||
@ -329,8 +331,9 @@ static INLINE BOOL RLEDECOMPRESS(const BYTE* pbSrcBuffer, UINT32 cbSrcBuffer, BY
|
||||
|
||||
if (runLength > 0)
|
||||
{
|
||||
bitmask = *pbSrc;
|
||||
pbSrc = pbSrc + 1;
|
||||
if (!buffer_within_range(pbSrc, 1, pbEnd))
|
||||
return FALSE;
|
||||
bitmask = *pbSrc++;
|
||||
|
||||
if (fFirstLine)
|
||||
{
|
||||
@ -369,6 +372,8 @@ static INLINE BOOL RLEDECOMPRESS(const BYTE* pbSrcBuffer, UINT32 cbSrcBuffer, BY
|
||||
|
||||
/* Handle Special Order 1. */
|
||||
case SPECIAL_FGBG_1:
|
||||
if (!buffer_within_range(pbSrc, 1, pbEnd))
|
||||
return FALSE;
|
||||
pbSrc = pbSrc + 1;
|
||||
|
||||
if (fFirstLine)
|
||||
@ -389,6 +394,8 @@ static INLINE BOOL RLEDECOMPRESS(const BYTE* pbSrcBuffer, UINT32 cbSrcBuffer, BY
|
||||
|
||||
/* Handle Special Order 2. */
|
||||
case SPECIAL_FGBG_2:
|
||||
if (!buffer_within_range(pbSrc, 1, pbEnd))
|
||||
return FALSE;
|
||||
pbSrc = pbSrc + 1;
|
||||
|
||||
if (fFirstLine)
|
||||
@ -409,6 +416,8 @@ static INLINE BOOL RLEDECOMPRESS(const BYTE* pbSrcBuffer, UINT32 cbSrcBuffer, BY
|
||||
|
||||
/* Handle White Order. */
|
||||
case SPECIAL_WHITE:
|
||||
if (!buffer_within_range(pbSrc, 1, pbEnd))
|
||||
return FALSE;
|
||||
pbSrc = pbSrc + 1;
|
||||
|
||||
if (!ENSURE_CAPACITY(pbDest, pbDestEnd, 1))
|
||||
@ -419,6 +428,8 @@ static INLINE BOOL RLEDECOMPRESS(const BYTE* pbSrcBuffer, UINT32 cbSrcBuffer, BY
|
||||
|
||||
/* Handle Black Order. */
|
||||
case SPECIAL_BLACK:
|
||||
if (!buffer_within_range(pbSrc, 1, pbEnd))
|
||||
return FALSE;
|
||||
pbSrc = pbSrc + 1;
|
||||
|
||||
if (!ENSURE_CAPACITY(pbDest, pbDestEnd, 1))
|
||||
|
@ -36,7 +36,9 @@
|
||||
for (x = 0; x < (_count); x++) \
|
||||
{ \
|
||||
do \
|
||||
_exp while (FALSE); \
|
||||
{ \
|
||||
_exp \
|
||||
} while (FALSE); \
|
||||
} \
|
||||
} while (FALSE)
|
||||
|
||||
@ -152,15 +154,19 @@ static const char* rle_code_str_buffer(UINT32 code, char* buffer, size_t size)
|
||||
return buffer;
|
||||
}
|
||||
|
||||
#define buffer_within_range(pbSrc, pbEnd) \
|
||||
buffer_within_range_((pbSrc), (pbEnd), __func__, __FILE__, __LINE__)
|
||||
static INLINE BOOL buffer_within_range_(const void* pbSrc, const void* pbEnd, const char* fkt,
|
||||
const char* file, size_t line)
|
||||
#define buffer_within_range(pbSrc, size, pbEnd) \
|
||||
buffer_within_range_((pbSrc), (size), (pbEnd), __func__, __FILE__, __LINE__)
|
||||
static INLINE BOOL buffer_within_range_(const void* pbSrc, size_t size, const void* pbEnd,
|
||||
const char* fkt, const char* file, size_t line)
|
||||
{
|
||||
WINPR_UNUSED(file);
|
||||
if (pbSrc >= pbEnd)
|
||||
WINPR_ASSERT(pbSrc);
|
||||
WINPR_ASSERT(pbEnd);
|
||||
|
||||
if ((char*)pbSrc + size > pbEnd)
|
||||
{
|
||||
WLog_ERR(TAG, "[%s:%" PRIuz "] pbSrc=%p >= pbEnd=%p", fkt, line, pbSrc, pbEnd);
|
||||
WLog_ERR(TAG, "[%s:%" PRIuz "] pbSrc=%p + %" PRIuz " > pbEnd=%p", fkt, line, pbSrc, size,
|
||||
pbEnd);
|
||||
return FALSE;
|
||||
}
|
||||
return TRUE;
|
||||
@ -207,7 +213,7 @@ static UINT ExtractRunLengthRegularFgBg(const BYTE* pbOrderHdr, const BYTE* pbEn
|
||||
runLength = (*pbOrderHdr) & g_MaskRegularRunLength;
|
||||
if (runLength == 0)
|
||||
{
|
||||
if (!buffer_within_range(pbOrderHdr + 1, pbEnd))
|
||||
if (!buffer_within_range(pbOrderHdr, 1, pbEnd))
|
||||
{
|
||||
*advance = 0;
|
||||
return 0;
|
||||
@ -232,7 +238,7 @@ static UINT ExtractRunLengthLiteFgBg(const BYTE* pbOrderHdr, const BYTE* pbEnd,
|
||||
runLength = *pbOrderHdr & g_MaskLiteRunLength;
|
||||
if (runLength == 0)
|
||||
{
|
||||
if (!buffer_within_range(pbOrderHdr + 1, pbEnd))
|
||||
if (!buffer_within_range(pbOrderHdr, 1, pbEnd))
|
||||
{
|
||||
*advance = 0;
|
||||
return 0;
|
||||
@ -257,7 +263,7 @@ static UINT ExtractRunLengthRegular(const BYTE* pbOrderHdr, const BYTE* pbEnd, U
|
||||
runLength = *pbOrderHdr & g_MaskRegularRunLength;
|
||||
if (runLength == 0)
|
||||
{
|
||||
if (!buffer_within_range(pbOrderHdr + 1, pbEnd))
|
||||
if (!buffer_within_range(pbOrderHdr, 1, pbEnd))
|
||||
{
|
||||
*advance = 0;
|
||||
return 0;
|
||||
@ -277,7 +283,7 @@ static UINT ExtractRunLengthMegaMega(const BYTE* pbOrderHdr, const BYTE* pbEnd,
|
||||
WINPR_ASSERT(pbEnd);
|
||||
WINPR_ASSERT(advance);
|
||||
|
||||
if (!buffer_within_range(pbOrderHdr + 2, pbEnd))
|
||||
if (!buffer_within_range(pbOrderHdr, 2, pbEnd))
|
||||
{
|
||||
*advance = 0;
|
||||
return 0;
|
||||
@ -300,7 +306,7 @@ static UINT ExtractRunLengthLite(const BYTE* pbOrderHdr, const BYTE* pbEnd, UINT
|
||||
runLength = *pbOrderHdr & g_MaskLiteRunLength;
|
||||
if (runLength == 0)
|
||||
{
|
||||
if (!buffer_within_range(pbOrderHdr + 1, pbEnd))
|
||||
if (!buffer_within_range(pbOrderHdr, 1, pbEnd))
|
||||
{
|
||||
*advance = 0;
|
||||
return 0;
|
||||
@ -322,7 +328,7 @@ static INLINE UINT32 ExtractRunLength(UINT32 code, const BYTE* pbOrderHdr, const
|
||||
WINPR_ASSERT(advance);
|
||||
|
||||
*advance = 0;
|
||||
if (!buffer_within_range(pbOrderHdr, pbEnd))
|
||||
if (!buffer_within_range(pbOrderHdr, 0, pbEnd))
|
||||
return 0;
|
||||
|
||||
switch (code)
|
||||
@ -414,6 +420,10 @@ static INLINE void write_pixel_16(BYTE* _buf, UINT16 _pix)
|
||||
#undef RLEDECOMPRESS
|
||||
#undef RLEEXTRA
|
||||
#undef WHITE_PIXEL
|
||||
#undef PIXEL_SIZE
|
||||
#undef PIXEL
|
||||
#define PIXEL_SIZE 1
|
||||
#define PIXEL BYTE
|
||||
#define WHITE_PIXEL 0xFF
|
||||
#define DESTWRITEPIXEL(_buf, _pix) \
|
||||
do \
|
||||
@ -445,6 +455,10 @@ static INLINE void write_pixel_16(BYTE* _buf, UINT16 _pix)
|
||||
#undef RLEDECOMPRESS
|
||||
#undef RLEEXTRA
|
||||
#undef WHITE_PIXEL
|
||||
#undef PIXEL_SIZE
|
||||
#undef PIXEL
|
||||
#define PIXEL_SIZE 2
|
||||
#define PIXEL UINT16
|
||||
#define WHITE_PIXEL 0xFFFF
|
||||
#define DESTWRITEPIXEL(_buf, _pix) \
|
||||
do \
|
||||
@ -475,7 +489,11 @@ static INLINE void write_pixel_16(BYTE* _buf, UINT16 _pix)
|
||||
#undef RLEDECOMPRESS
|
||||
#undef RLEEXTRA
|
||||
#undef WHITE_PIXEL
|
||||
#define WHITE_PIXEL 0xFFFFFF
|
||||
#undef PIXEL_SIZE
|
||||
#undef PIXEL
|
||||
#define PIXEL_SIZE 3
|
||||
#define PIXEL UINT32
|
||||
#define WHITE_PIXEL 0xffffff
|
||||
#define DESTWRITEPIXEL(_buf, _pix) \
|
||||
do \
|
||||
{ \
|
||||
|
Loading…
Reference in New Issue
Block a user