From 03eb97255d930473557cbb01c205b65124f6dedb Mon Sep 17 00:00:00 2001 From: Cristy Date: Sun, 18 Mar 2018 21:47:37 -0400 Subject: [PATCH] ... --- coders/bmp.c | 14 +++----------- coders/dib.c | 25 +++++-------------------- 2 files changed, 8 insertions(+), 31 deletions(-) diff --git a/coders/bmp.c b/coders/bmp.c index 3ba5348c4..7cf8b7d24 100644 --- a/coders/bmp.c +++ b/coders/bmp.c @@ -232,7 +232,7 @@ static MagickBooleanType DecodeImage(Image *image,const size_t compression, MagickBooleanType status; - if ((p < pixels) || (p >= q)) + if ((p < pixels) || (p > q)) break; count=ReadBlobByte(image); if (count == EOF) @@ -286,14 +286,8 @@ static MagickBooleanType DecodeImage(Image *image,const size_t compression, /* Delta mode. */ - byte=ReadBlobByte(image); - if (byte == EOF) - break; - x+=byte; - byte=ReadBlobByte(image); - if (byte == EOF) - break; - y+=byte; + x+=ReadBlobByte(image); + y+=ReadBlobByte(image); p=pixels+y*image->columns+x; break; } @@ -303,8 +297,6 @@ static MagickBooleanType DecodeImage(Image *image,const size_t compression, Absolute mode. */ count=(int) MagickMin((ssize_t) count,(ssize_t) (q-p)); - if (count < 0) - break; if (compression == BI_RLE8) for (i=0; i < (ssize_t) count; i++) { diff --git a/coders/dib.c b/coders/dib.c index 1aa33b5a4..8d1a72c43 100644 --- a/coders/dib.c +++ b/coders/dib.c @@ -190,9 +190,6 @@ static MagickBooleanType DecodeImage(Image *image, q=pixels+number_pixels; for (y=0; y < (ssize_t) image->rows; ) { - MagickBooleanType - status; - if ((p < pixels) || (p >= q)) break; count=ReadBlobByte(image); @@ -200,10 +197,10 @@ static MagickBooleanType DecodeImage(Image *image, break; if (count > 0) { + count=(int) MagickMin((size_t) count,(size_t) (q-p)); /* Encoded mode. */ - count=(int) MagickMin((size_t) count,(size_t) (q-p)); byte=ReadBlobByte(image); if (byte == EOF) break; @@ -226,8 +223,6 @@ static MagickBooleanType DecodeImage(Image *image, Escape mode. */ count=ReadBlobByte(image); - if (count == EOF) - break; if (count == 0x01) return(MagickTrue); switch (count) @@ -247,14 +242,8 @@ static MagickBooleanType DecodeImage(Image *image, /* Delta mode. */ - byte=ReadBlobByte(image); - if (byte == EOF) - break; - x+=byte; - byte=ReadBlobByte(image); - if (byte == EOF) - break; - y+=byte; + x+=ReadBlobByte(image); + y+=ReadBlobByte(image); p=pixels+y*image->columns+x; break; } @@ -264,8 +253,6 @@ static MagickBooleanType DecodeImage(Image *image, Absolute mode. */ count=(int) MagickMin((size_t) count,(size_t) (q-p)); - if (count < 0) - break; if (compression == BI_RLE8) for (i=0; i < (ssize_t) count; i++) { @@ -304,14 +291,12 @@ static MagickBooleanType DecodeImage(Image *image, } } } - status=SetImageProgress(image,LoadImageTag,(MagickOffsetType) y, - image->rows); - if (status == MagickFalse) + if (SetImageProgress(image,LoadImageTag,(MagickOffsetType) y,image->rows) == MagickFalse) break; } (void) ReadBlobByte(image); /* end of line */ (void) ReadBlobByte(image); - return(y < (ssize_t) image->rows ? MagickFalse : MagickTrue); + return(MagickTrue); } /* -- 2.40.0