Skip to content
Permalink
Browse files Browse the repository at this point in the history
No commit message
  • Loading branch information
cristy committed Dec 14, 2014
1 parent 6773cce commit f6e9d0d
Show file tree
Hide file tree
Showing 84 changed files with 541 additions and 15 deletions.
2 changes: 2 additions & 0 deletions ChangeLog
Expand Up @@ -22,6 +22,8 @@
Mateusz Jurczyk of the Google Security Team).
* Additional PNM sanity checks (reference
http://www.imagemagick.org/discourse-server/viewtopic.php?f=3&t=26682).
* The SetImageBias() biad value is no longer ignored (reference
http://www.imagemagick.org/discourse-server/viewtopic.php?f=3&t=25732).

2014-11-16 6.9.0-0 Cristy <quetzlzacatenango@image...>
* New version 6.9.0-0, SVN revision 17067.
Expand Down
6 changes: 6 additions & 0 deletions coders/aai.c
Expand Up @@ -158,6 +158,12 @@ static Image *ReadAAIImage(const ImageInfo *image_info,ExceptionInfo *exception)
if ((image_info->ping != MagickFalse) && (image_info->number_scenes != 0))
if (image->scene >= (image_info->scene+image_info->number_scenes-1))
break;
status=SetImageExtent(image,image->columns,image->rows);
if (status == MagickFalse)
{
InheritException(exception,&image->exception);
return(DestroyImageList(image));
}
pixels=(unsigned char *) AcquireQuantumMemory(image->columns,
4*sizeof(*pixels));
if (pixels == (unsigned char *) NULL)
Expand Down
6 changes: 6 additions & 0 deletions coders/art.c
Expand Up @@ -155,6 +155,12 @@ static Image *ReadARTImage(const ImageInfo *image_info,ExceptionInfo *exception)
(void) CloseBlob(image);
return(GetFirstImageInList(image));
}
status=SetImageExtent(image,image->columns,image->rows);
if (status == MagickFalse)
{
InheritException(exception,&image->exception);
return(DestroyImageList(image));
}
/*
Convert bi-level image to pixel packets.
*/
Expand Down
6 changes: 6 additions & 0 deletions coders/avs.c
Expand Up @@ -160,6 +160,12 @@ static Image *ReadAVSImage(const ImageInfo *image_info,ExceptionInfo *exception)
if ((image_info->ping != MagickFalse) && (image_info->number_scenes != 0))
if (image->scene >= (image_info->scene+image_info->number_scenes-1))
break;
status=SetImageExtent(image,image->columns,image->rows);
if (status == MagickFalse)
{
InheritException(exception,&image->exception);
return(DestroyImageList(image));
}
pixels=(unsigned char *) AcquireQuantumMemory(image->columns,
4*sizeof(*pixels));
if (pixels == (unsigned char *) NULL)
Expand Down
6 changes: 6 additions & 0 deletions coders/bgr.c
Expand Up @@ -197,6 +197,12 @@ static Image *ReadBGRImage(const ImageInfo *image_info,
if ((image_info->ping != MagickFalse) && (image_info->number_scenes != 0))
if (image->scene >= (image_info->scene+image_info->number_scenes-1))
break;
status=SetImageExtent(image,image->columns,image->rows);
if (status == MagickFalse)
{
InheritException(exception,&image->exception);
return(DestroyImageList(image));
}
switch (image_info->interlace)
{
case NoInterlace:
Expand Down
6 changes: 6 additions & 0 deletions coders/bmp.c
Expand Up @@ -928,6 +928,12 @@ static Image *ReadBMPImage(const ImageInfo *image_info,ExceptionInfo *exception)
if ((image_info->ping != MagickFalse) && (image_info->number_scenes != 0))
if (image->scene >= (image_info->scene+image_info->number_scenes-1))
break;
status=SetImageExtent(image,image->columns,image->rows);
if (status == MagickFalse)
{
InheritException(exception,&image->exception);
return(DestroyImageList(image));
}
/*
Read image data.
*/
Expand Down
8 changes: 7 additions & 1 deletion coders/cin.c
Expand Up @@ -721,11 +721,17 @@ static Image *ReadCINImage(const ImageInfo *image_info,ExceptionInfo *exception)
image->depth=cin.image.channel[0].bits_per_pixel;
image->columns=cin.image.channel[0].pixels_per_line;
image->rows=cin.image.channel[0].lines_per_image;
if (image_info->ping)
if (image_info->ping != MagickFalse)
{
(void) CloseBlob(image);
return(image);
}
status=SetImageExtent(image,image->columns,image->rows);
if (status == MagickFalse)
{
InheritException(exception,&image->exception);
return(DestroyImageList(image));
}
/*
Convert CIN raster image to pixel packets.
*/
Expand Down
10 changes: 8 additions & 2 deletions coders/clipboard.c
Expand Up @@ -136,7 +136,7 @@ static Image *ReadCLIPBOARDImage(const ImageInfo *image_info,
bitmapH=(HBITMAP) GetClipboardData(CF_BITMAP);
hPal=(HPALETTE) GetClipboardData(CF_PALETTE);
CloseClipboard();
if ( bitmapH == NULL )
if (bitmapH == NULL)
ThrowReaderException(CoderError,"NoBitmapOnClipboard");
{
BITMAPINFO
Expand All @@ -163,8 +163,14 @@ static Image *ReadCLIPBOARDImage(const ImageInfo *image_info,
GetObject(bitmapH,sizeof(BITMAP),(LPSTR) &bitmap);
if ((image->columns == 0) || (image->rows == 0))
{
image->rows=bitmap.bmHeight;
image->columns=bitmap.bmWidth;
image->rows=bitmap.bmHeight;
}
status=SetImageExtent(image,image->columns,image->rows);
if (status == MagickFalse)
{
InheritException(exception,&image->exception);
return(DestroyImageList(image));
}
/*
Initialize the bitmap header info.
Expand Down
6 changes: 6 additions & 0 deletions coders/cmyk.c
Expand Up @@ -197,6 +197,12 @@ static Image *ReadCMYKImage(const ImageInfo *image_info,
if ((image_info->ping != MagickFalse) && (image_info->number_scenes != 0))
if (image->scene >= (image_info->scene+image_info->number_scenes-1))
break;
status=SetImageExtent(image,image->columns,image->rows);
if (status == MagickFalse)
{
InheritException(exception,&image->exception);
return(DestroyImageList(image));
}
SetImageColorspace(image,CMYKColorspace);
switch (image_info->interlace)
{
Expand Down
8 changes: 7 additions & 1 deletion coders/cut.c
Expand Up @@ -371,7 +371,13 @@ static Image *ReadCUTImage(const ImageInfo *image_info,ExceptionInfo *exception)
image->depth=8;
image->colors=(size_t) (GetQuantumRange(1UL*i)+1);

if (image_info->ping) goto Finish;
if (image_info->ping != MagickFalse) goto Finish;
status=SetImageExtent(image,image->columns,image->rows);
if (status == MagickFalse)
{
InheritException(exception,&image->exception);
return(DestroyImageList(image));
}

/* ----- Do something with palette ----- */
if ((clone_info=CloneImageInfo(image_info)) == NULL) goto NoPalette;
Expand Down
6 changes: 6 additions & 0 deletions coders/dcm.c
Expand Up @@ -3689,6 +3689,12 @@ static Image *ReadDCMImage(const ImageInfo *image_info,ExceptionInfo *exception)
image->columns=(size_t) width;
image->rows=(size_t) height;
image->depth=depth;
status=SetImageExtent(image,image->columns,image->rows);
if (status == MagickFalse)
{
InheritException(exception,&image->exception);
break;
}
image->colorspace=RGBColorspace;
if ((image->colormap == (PixelPacket *) NULL) && (samples_per_pixel == 1))
{
Expand Down
6 changes: 6 additions & 0 deletions coders/dds.c
Expand Up @@ -1834,6 +1834,12 @@ static Image *ReadDDSImage(const ImageInfo *image_info,ExceptionInfo *exception)
(void) CloseBlob(image);
return(GetFirstImageInList(image));
}
status=SetImageExtent(image,image->columns,image->rows);
if (status == MagickFalse)
{
InheritException(exception,&image->exception);
return(DestroyImageList(image));
}

if ((decoder)(image, &dds_info, exception) != MagickTrue)
{
Expand Down
8 changes: 7 additions & 1 deletion coders/dib.c
Expand Up @@ -520,7 +520,7 @@ static Image *ReadDIBImage(const ImageInfo *image_info,ExceptionInfo *exception)
*/
(void) ResetMagickMemory(&dib_info,0,sizeof(dib_info));
dib_info.size=ReadBlobLSBLong(image);
if (dib_info.size!=40)
if (dib_info.size != 40)
ThrowReaderException(CorruptImageError,"ImproperImageHeader");
/*
Microsoft Windows 3.X DIB image file.
Expand Down Expand Up @@ -573,6 +573,12 @@ static Image *ReadDIBImage(const ImageInfo *image_info,ExceptionInfo *exception)
if ((geometry.height != 0) && (geometry.height < image->rows))
image->rows=geometry.height;
}
status=SetImageExtent(image,image->columns,image->rows);
if (status == MagickFalse)
{
InheritException(exception,&image->exception);
return(DestroyImageList(image));
}
if (image->storage_class == PseudoClass)
{
size_t
Expand Down
9 changes: 8 additions & 1 deletion coders/djvu.c
Expand Up @@ -418,7 +418,7 @@ get_page_image(LoadContext *lc, ddjvu_page_t *page, int x, int y, int w, int h,
if (SyncAuthenticPixels(image,&image->exception) == MagickFalse)
break;
}
if (!image->ping)
if (image->ping == MagickFalse)
SyncImage(image);
} else {
#if DEBUG
Expand Down Expand Up @@ -577,6 +577,7 @@ static Image *ReadOneDJVUImage(LoadContext* lc,const int pagenum,
Image *image;
int logging;
int tag;
MagickBooleanType status;

/* so, we know that the page is there! Get its dimension, and */

Expand Down Expand Up @@ -667,6 +668,12 @@ static Image *ReadOneDJVUImage(LoadContext* lc,const int pagenum,
image->matte = MagickTrue;
/* is this useful? */
}
status=SetImageExtent(image,image->columns,image->rows);
if (status == MagickFalse)
{
InheritException(exception,&image->exception);
return(DestroyImageList(image));
}
#if DEBUG
printf("now filling %.20g x %.20g\n",(double) image->columns,(double)
image->rows);
Expand Down
6 changes: 6 additions & 0 deletions coders/dps.c
Expand Up @@ -328,6 +328,12 @@ static Image *ReadDPSImage(const ImageInfo *image_info,ExceptionInfo *exception)
(void) CloseBlob(image);
return(GetFirstImageInList(image));
}
status=SetImageExtent(image,image->columns,image->rows);
if (status == MagickFalse)
{
InheritException(exception,&image->exception);
return(DestroyImageList(image));
}
switch (image->storage_class)
{
case DirectClass:
Expand Down
6 changes: 6 additions & 0 deletions coders/dpx.c
Expand Up @@ -1126,6 +1126,12 @@ static Image *ReadDPXImage(const ImageInfo *image_info,ExceptionInfo *exception)
(void) CloseBlob(image);
return(GetFirstImageInList(image));
}
status=SetImageExtent(image,image->columns,image->rows);
if (status == MagickFalse)
{
InheritException(exception,&image->exception);
return(DestroyImageList(image));
}
for (n=0; n < (ssize_t) dpx.image.number_elements; n++)
{
/*
Expand Down
6 changes: 6 additions & 0 deletions coders/emf.c
Expand Up @@ -507,6 +507,12 @@ static Image *ReadEMFImage(const ImageInfo *image_info,
y=0;
(void) GetGeometry(image_info->size,&x,&y,&image->columns,&image->rows);
}
status=SetImageExtent(image,image->columns,image->rows);
if (status == MagickFalse)
{
InheritException(exception,&image->exception);
return(DestroyImageList(image));
}
if (image_info->page != (char *) NULL)
{
char
Expand Down
6 changes: 6 additions & 0 deletions coders/exr.c
Expand Up @@ -212,6 +212,12 @@ static Image *ReadEXRImage(const ImageInfo *image_info,ExceptionInfo *exception)
(void) CloseBlob(image);
return(GetFirstImageInList(image));
}
status=SetImageExtent(image,image->columns,image->rows);
if (status == MagickFalse)
{
InheritException(exception,&image->exception);
return(DestroyImageList(image));
}
scanline=(ImfRgba *) AcquireQuantumMemory(image->columns,sizeof(*scanline));
if (scanline == (ImfRgba *) NULL)
{
Expand Down
6 changes: 6 additions & 0 deletions coders/fax.c
Expand Up @@ -178,6 +178,12 @@ static Image *ReadFAXImage(const ImageInfo *image_info,ExceptionInfo *exception)
(void) CloseBlob(image);
return(GetFirstImageInList(image));
}
status=SetImageExtent(image,image->columns,image->rows);
if (status == MagickFalse)
{
InheritException(exception,&image->exception);
return(DestroyImageList(image));
}
status=HuffmanDecodeImage(image);
if (status == MagickFalse)
ThrowReaderException(CorruptImageError,"UnableToReadImageData");
Expand Down
6 changes: 6 additions & 0 deletions coders/fits.c
Expand Up @@ -423,6 +423,12 @@ static Image *ReadFITSImage(const ImageInfo *image_info,
if ((image_info->ping != MagickFalse) && (image_info->number_scenes != 0))
if (image->scene >= (image_info->scene+image_info->number_scenes-1))
break;
status=SetImageExtent(image,image->columns,image->rows);
if (status == MagickFalse)
{
InheritException(exception,&image->exception);
return(DestroyImageList(image));
}
/*
Initialize image structure.
*/
Expand Down
6 changes: 6 additions & 0 deletions coders/fpx.c
Expand Up @@ -352,6 +352,12 @@ static Image *ReadFPXImage(const ImageInfo *image_info,ExceptionInfo *exception)
FPX_ClearSystem();
return(GetFirstImageInList(image));
}
status=SetImageExtent(image,image->columns,image->rows);
if (status == MagickFalse)
{
InheritException(exception,&image->exception);
return(DestroyImageList(image));
}
/*
Allocate memory for the image and pixel buffer.
*/
Expand Down
6 changes: 6 additions & 0 deletions coders/gif.c
Expand Up @@ -1350,6 +1350,12 @@ static Image *ReadGIFImage(const ImageInfo *image_info,ExceptionInfo *exception)
if ((image_info->ping != MagickFalse) && (image_info->number_scenes != 0))
if (image->scene >= (image_info->scene+image_info->number_scenes-1))
break;
status=SetImageExtent(image,image->columns,image->rows);
if (status == MagickFalse)
{
InheritException(exception,&image->exception);
return(DestroyImageList(image));
}
/*
Decode image.
*/
Expand Down
6 changes: 6 additions & 0 deletions coders/gray.c
Expand Up @@ -187,6 +187,12 @@ static Image *ReadGRAYImage(const ImageInfo *image_info,
if ((image_info->ping != MagickFalse) && (image_info->number_scenes != 0))
if (image->scene >= (image_info->scene+image_info->number_scenes-1))
break;
status=SetImageExtent(image,image->columns,image->rows);
if (status == MagickFalse)
{
InheritException(exception,&image->exception);
return(DestroyImageList(image));
}
SetImageColorspace(image,GRAYColorspace);
if (scene == 0)
{
Expand Down
9 changes: 7 additions & 2 deletions coders/hald.c
Expand Up @@ -125,6 +125,12 @@ static Image *ReadHALDImage(const ImageInfo *image_info,
cube_size=level*level;
image->columns=(size_t) (level*cube_size);
image->rows=(size_t) (level*cube_size);
status=SetImageExtent(image,image->columns,image->rows);
if (status == MagickFalse)
{
InheritException(exception,&image->exception);
return(DestroyImageList(image));
}
for (y=0; y < (ssize_t) image->rows; y+=(ssize_t) level)
{
ssize_t
Expand All @@ -137,8 +143,7 @@ static Image *ReadHALDImage(const ImageInfo *image_info,

if (status == MagickFalse)
continue;
q=QueueAuthenticPixels(image,0,y,image->columns,(size_t) level,
exception);
q=QueueAuthenticPixels(image,0,y,image->columns,(size_t) level,exception);
if (q == (PixelPacket *) NULL)
{
status=MagickFalse;
Expand Down
6 changes: 6 additions & 0 deletions coders/hdr.c
Expand Up @@ -382,6 +382,12 @@ static Image *ReadHDRImage(const ImageInfo *image_info,ExceptionInfo *exception)
(void) CloseBlob(image);
return(GetFirstImageInList(image));
}
status=SetImageExtent(image,image->columns,image->rows);
if (status == MagickFalse)
{
InheritException(exception,&image->exception);
return(DestroyImageList(image));
}
/*
Read RGBE (red+green+blue+exponent) pixels.
*/
Expand Down
6 changes: 6 additions & 0 deletions coders/hrz.c
Expand Up @@ -142,6 +142,12 @@ static Image *ReadHRZImage(const ImageInfo *image_info,ExceptionInfo *exception)
image->columns=256;
image->rows=240;
image->depth=8;
status=SetImageExtent(image,image->columns,image->rows);
if (status == MagickFalse)
{
InheritException(exception,&image->exception);
return(DestroyImageList(image));
}
pixels=(unsigned char *) AcquireQuantumMemory(image->columns,3*
sizeof(*pixels));
if (pixels == (unsigned char *) NULL)
Expand Down

0 comments on commit f6e9d0d

Please sign in to comment.