From 5b4868f918543273cfe607699502523bd1a7538b Mon Sep 17 00:00:00 2001 From: cristy Date: Sun, 14 Dec 2014 17:43:35 +0000 Subject: [PATCH] --- Magick++/lib/Image.cpp | 4 ++-- MagickCore/cipher.c | 4 ++-- MagickCore/quantum.c | 13 +++++++++---- MagickCore/quantum.h | 2 +- MagickCore/stream.c | 5 +++-- coders/art.c | 4 ++-- coders/bgr.c | 4 ++-- coders/cin.c | 4 ++-- coders/cmyk.c | 4 ++-- coders/dpx.c | 4 ++-- coders/fits.c | 2 +- coders/fpx.c | 2 +- coders/gray.c | 4 ++-- coders/ipl.c | 4 ++-- coders/mat.c | 4 ++-- coders/miff.c | 4 ++-- coders/pdb.c | 2 +- coders/png.c | 4 ++-- coders/pnm.c | 26 ++++++++++++++++---------- coders/psd.c | 4 ++-- coders/raw.c | 4 ++-- coders/rgb.c | 4 ++-- coders/tiff.c | 4 ++-- coders/vicar.c | 4 ++-- coders/ycbcr.c | 4 ++-- 25 files changed, 68 insertions(+), 56 deletions(-) diff --git a/Magick++/lib/Image.cpp b/Magick++/lib/Image.cpp index 8bad90e5d..111797969 100644 --- a/Magick++/lib/Image.cpp +++ b/Magick++/lib/Image.cpp @@ -3923,8 +3923,8 @@ void Magick::Image::readPixels(const Magick::QuantumType quantum_, QuantumInfo *quantum_info; - quantum_info=AcquireQuantumInfo(imageInfo(),image()); GetPPException; + quantum_info=AcquireQuantumInfo(imageInfo(),image(), exceptionInfo); ImportQuantumPixels(image(),(MagickCore::CacheView *) NULL,quantum_info, quantum_,source_,exceptionInfo); quantum_info=DestroyQuantumInfo(quantum_info); @@ -4758,8 +4758,8 @@ void Magick::Image::writePixels(const Magick::QuantumType quantum_, QuantumInfo *quantum_info; - quantum_info=AcquireQuantumInfo(imageInfo(),image()); GetPPException; + quantum_info=AcquireQuantumInfo(imageInfo(),image(), exceptionInfo); ExportQuantumPixels(image(),(MagickCore::CacheView *) NULL,quantum_info, quantum_,destination_, exceptionInfo); quantum_info=DestroyQuantumInfo(quantum_info); diff --git a/MagickCore/cipher.c b/MagickCore/cipher.c index 782248708..1ba0e040b 100644 --- a/MagickCore/cipher.c +++ b/MagickCore/cipher.c @@ -652,7 +652,7 @@ MagickExport MagickBooleanType PasskeyDecipherImage(Image *image, /* Convert cipher pixels to plain pixels. */ - quantum_info=AcquireQuantumInfo((const ImageInfo *) NULL,image); + quantum_info=AcquireQuantumInfo((const ImageInfo *) NULL,image,exception); if (quantum_info == (QuantumInfo *) NULL) { aes_info=DestroyAESInfo(aes_info); @@ -872,7 +872,7 @@ MagickExport MagickBooleanType PasskeyEncipherImage(Image *image, /* Convert plain pixels to cipher pixels. */ - quantum_info=AcquireQuantumInfo((const ImageInfo *) NULL,image); + quantum_info=AcquireQuantumInfo((const ImageInfo *) NULL,image,exception); if (quantum_info == (QuantumInfo *) NULL) { aes_info=DestroyAESInfo(aes_info); diff --git a/MagickCore/quantum.c b/MagickCore/quantum.c index 94d6151fe..36909e175 100644 --- a/MagickCore/quantum.c +++ b/MagickCore/quantum.c @@ -95,7 +95,8 @@ static void % % The format of the AcquireQuantumInfo method is: % -% QuantumInfo *AcquireQuantumInfo(const ImageInfo *image_info,Image *image) +% QuantumInfo *AcquireQuantumInfo(const ImageInfo *image_info,Image *image, +% ExceptionInfo *exception) % % A description of each parameter follows: % @@ -103,9 +104,11 @@ static void % % o image: the image. % +% o exception: return any errors or warnings in this structure. +% */ MagickExport QuantumInfo *AcquireQuantumInfo(const ImageInfo *image_info, - Image *image) + Image *image,ExceptionInfo *exception) { MagickBooleanType status; @@ -113,8 +116,6 @@ MagickExport QuantumInfo *AcquireQuantumInfo(const ImageInfo *image_info, QuantumInfo *quantum_info; - if (SyncImagePixelCache(image,&image->exception) == MagickFalse) - return(MagickFalse); quantum_info=(QuantumInfo *) AcquireMagickMemory(sizeof(*quantum_info)); if (quantum_info == (QuantumInfo *) NULL) ThrowFatalException(ResourceLimitFatalError,"MemoryAllocationFailed"); @@ -122,6 +123,8 @@ MagickExport QuantumInfo *AcquireQuantumInfo(const ImageInfo *image_info, GetQuantumInfo(image_info,quantum_info); if (image == (const Image *) NULL) return(quantum_info); + if (SyncImagePixelCache(image,exception) == MagickFalse) + return(DestroyQuantumInfo(quantum_info)); status=SetQuantumDepth(image,quantum_info,image->depth); quantum_info->endian=image->endian; if (status == MagickFalse) @@ -511,6 +514,8 @@ MagickExport unsigned char *GetQuantumPixels(const QuantumInfo *quantum_info) % % o image: the image. % +% o exception: return any errors or warnings in this structure. +% */ MagickExport QuantumType GetQuantumType(Image *image,ExceptionInfo *exception) { diff --git a/MagickCore/quantum.h b/MagickCore/quantum.h index 85a818491..b0ea65371 100644 --- a/MagickCore/quantum.h +++ b/MagickCore/quantum.h @@ -162,7 +162,7 @@ extern MagickExport QuantumFormatType GetQuantumFormat(const QuantumInfo *); extern MagickExport QuantumInfo - *AcquireQuantumInfo(const ImageInfo *,Image *), + *AcquireQuantumInfo(const ImageInfo *,Image *,ExceptionInfo *), *DestroyQuantumInfo(QuantumInfo *); extern MagickExport QuantumType diff --git a/MagickCore/stream.c b/MagickCore/stream.c index b1045cec0..46a0b48e8 100644 --- a/MagickCore/stream.c +++ b/MagickCore/stream.c @@ -1251,13 +1251,14 @@ MagickExport Image *StreamImage(const ImageInfo *image_info, assert(exception != (ExceptionInfo *) NULL); read_info=CloneImageInfo(image_info); stream_info->image_info=image_info; - stream_info->quantum_info=AcquireQuantumInfo(image_info,(Image *) NULL); + stream_info->quantum_info=AcquireQuantumInfo(image_info,(Image *) NULL, + exception); stream_info->exception=exception; read_info->client_data=(void *) stream_info; image=ReadStream(read_info,&WriteStreamImage,exception); read_info=DestroyImageInfo(read_info); stream_info->quantum_info=DestroyQuantumInfo(stream_info->quantum_info); - stream_info->quantum_info=AcquireQuantumInfo(image_info,image); + stream_info->quantum_info=AcquireQuantumInfo(image_info,image,exception); if (stream_info->quantum_info == (QuantumInfo *) NULL) image=DestroyImage(image); return(image); diff --git a/coders/art.c b/coders/art.c index a9392b7ad..3ff9298a2 100644 --- a/coders/art.c +++ b/coders/art.c @@ -150,7 +150,7 @@ static Image *ReadARTImage(const ImageInfo *image_info,ExceptionInfo *exception) Convert bi-level image to pixel packets. */ SetImageColorspace(image,GRAYColorspace,exception); - quantum_info=AcquireQuantumInfo(image_info,image); + quantum_info=AcquireQuantumInfo(image_info,image,exception); if (quantum_info == (QuantumInfo *) NULL) ThrowReaderException(ResourceLimitError,"MemoryAllocationFailed"); pixels=GetQuantumPixels(quantum_info); @@ -319,7 +319,7 @@ static MagickBooleanType WriteARTImage(const ImageInfo *image_info,Image *image, (void) WriteBlobLSBShort(image,(unsigned short) image->columns); (void) WriteBlobLSBShort(image,0); (void) WriteBlobLSBShort(image,(unsigned short) image->rows); - quantum_info=AcquireQuantumInfo(image_info,image); + quantum_info=AcquireQuantumInfo(image_info,image,exception); pixels=GetQuantumPixels(quantum_info); for (y=0; y < (ssize_t) image->rows; y++) { diff --git a/coders/bgr.c b/coders/bgr.c index 2a70fb05e..cb638b9a8 100644 --- a/coders/bgr.c +++ b/coders/bgr.c @@ -161,7 +161,7 @@ static Image *ReadBGRImage(const ImageInfo *image_info, exception); (void) SetImageVirtualPixelMethod(canvas_image,BlackVirtualPixelMethod, exception); - quantum_info=AcquireQuantumInfo(image_info,canvas_image); + quantum_info=AcquireQuantumInfo(image_info,canvas_image,exception); if (quantum_info == (QuantumInfo *) NULL) ThrowReaderException(ResourceLimitError,"MemoryAllocationFailed"); pixels=GetQuantumPixels(quantum_info); @@ -1110,7 +1110,7 @@ static MagickBooleanType WriteBGRImage(const ImageInfo *image_info,Image *image, if ((LocaleCompare(image_info->magick,"BGRA") == 0) && (image->alpha_trait != BlendPixelTrait)) (void) SetImageAlphaChannel(image,OpaqueAlphaChannel,exception); - quantum_info=AcquireQuantumInfo(image_info,image); + quantum_info=AcquireQuantumInfo(image_info,image,exception); if (quantum_info == (QuantumInfo *) NULL) ThrowWriterException(ResourceLimitError,"MemoryAllocationFailed"); pixels=GetQuantumPixels(quantum_info); diff --git a/coders/cin.c b/coders/cin.c index d02201c5a..15dc3e103 100644 --- a/coders/cin.c +++ b/coders/cin.c @@ -725,7 +725,7 @@ static Image *ReadCINImage(const ImageInfo *image_info,ExceptionInfo *exception) /* Convert CIN raster image to pixel packets. */ - quantum_info=AcquireQuantumInfo(image_info,image); + quantum_info=AcquireQuantumInfo(image_info,image,exception); if (quantum_info == (QuantumInfo *) NULL) ThrowReaderException(ResourceLimitError,"MemoryAllocationFailed"); quantum_info->quantum=32; @@ -1183,7 +1183,7 @@ static MagickBooleanType WriteCINImage(const ImageInfo *image_info,Image *image, /* Convert pixel packets to CIN raster image. */ - quantum_info=AcquireQuantumInfo(image_info,image); + quantum_info=AcquireQuantumInfo(image_info,image,exception); if (quantum_info == (QuantumInfo *) NULL) ThrowWriterException(ResourceLimitError,"MemoryAllocationFailed"); quantum_info->quantum=32; diff --git a/coders/cmyk.c b/coders/cmyk.c index b47ac1d15..59d31a3e3 100644 --- a/coders/cmyk.c +++ b/coders/cmyk.c @@ -161,7 +161,7 @@ static Image *ReadCMYKImage(const ImageInfo *image_info, exception); (void) SetImageVirtualPixelMethod(canvas_image,BlackVirtualPixelMethod, exception); - quantum_info=AcquireQuantumInfo(image_info,canvas_image); + quantum_info=AcquireQuantumInfo(image_info,canvas_image,exception); if (quantum_info == (QuantumInfo *) NULL) ThrowReaderException(ResourceLimitError,"MemoryAllocationFailed"); pixels=GetQuantumPixels(quantum_info); @@ -1228,7 +1228,7 @@ static MagickBooleanType WriteCMYKImage(const ImageInfo *image_info, if (image->alpha_trait != BlendPixelTrait) (void) SetImageAlphaChannel(image,OpaqueAlphaChannel,exception); } - quantum_info=AcquireQuantumInfo(image_info,image); + quantum_info=AcquireQuantumInfo(image_info,image,exception); if (quantum_info == (QuantumInfo *) NULL) ThrowWriterException(ResourceLimitError,"MemoryAllocationFailed"); pixels=GetQuantumPixels(quantum_info); diff --git a/coders/dpx.c b/coders/dpx.c index c86a3754c..a98d07ff9 100644 --- a/coders/dpx.c +++ b/coders/dpx.c @@ -1206,7 +1206,7 @@ static Image *ReadDPXImage(const ImageInfo *image_info,ExceptionInfo *exception) */ status=MagickTrue; row=0; - quantum_info=AcquireQuantumInfo(image_info,image); + quantum_info=AcquireQuantumInfo(image_info,image,exception); if (quantum_info == (QuantumInfo *) NULL) ThrowReaderException(ResourceLimitError,"MemoryAllocationFailed"); SetQuantumQuantum(quantum_info,32); @@ -1945,7 +1945,7 @@ static MagickBooleanType WriteDPXImage(const ImageInfo *image_info,Image *image, /* Convert pixel packets to DPX raster image. */ - quantum_info=AcquireQuantumInfo(image_info,image); + quantum_info=AcquireQuantumInfo(image_info,image,exception); SetQuantumQuantum(quantum_info,32); SetQuantumPack(quantum_info,dpx.image.image_element[0].packing == 0 ? MagickTrue : MagickFalse); diff --git a/coders/fits.c b/coders/fits.c index 4c3f740b0..1ea82d0de 100644 --- a/coders/fits.c +++ b/coders/fits.c @@ -658,7 +658,7 @@ static MagickBooleanType WriteFITSImage(const ImageInfo *image_info, */ image->depth=GetImageQuantumDepth(image,MagickFalse); image->endian=MSBEndian; - quantum_info=AcquireQuantumInfo((const ImageInfo *) NULL,image); + quantum_info=AcquireQuantumInfo(image_info,image,exception); if (quantum_info == (QuantumInfo *) NULL) ThrowWriterException(ResourceLimitError,"MemoryAllocationFailed"); offset=0; diff --git a/coders/fpx.c b/coders/fpx.c index e2beabe07..3ed3e0da3 100644 --- a/coders/fpx.c +++ b/coders/fpx.c @@ -928,7 +928,7 @@ static MagickBooleanType WriteFPXImage(const ImageInfo *image_info,Image *image, /* Initialize FlashPix image description. */ - quantum_info=AcquireQuantumInfo(image_info,image); + quantum_info=AcquireQuantumInfo(image_info,image,exception); if (quantum_info == (QuantumInfo *) NULL) ThrowWriterException(ResourceLimitError,"MemoryAllocationFailed"); pixels=GetQuantumPixels(quantum_info); diff --git a/coders/gray.c b/coders/gray.c index 64e4de03a..22a55778b 100644 --- a/coders/gray.c +++ b/coders/gray.c @@ -157,7 +157,7 @@ static Image *ReadGRAYImage(const ImageInfo *image_info, (void) SetImageVirtualPixelMethod(canvas_image,BlackVirtualPixelMethod, exception); quantum_type=GrayQuantum; - quantum_info=AcquireQuantumInfo(image_info,canvas_image); + quantum_info=AcquireQuantumInfo(image_info,canvas_image,exception); if (quantum_info == (QuantumInfo *) NULL) ThrowReaderException(ResourceLimitError,"MemoryAllocationFailed"); pixels=GetQuantumPixels(quantum_info); @@ -415,7 +415,7 @@ static MagickBooleanType WriteGRAYImage(const ImageInfo *image_info, */ (void) TransformImageColorspace(image,sRGBColorspace,exception); quantum_type=GrayQuantum; - quantum_info=AcquireQuantumInfo(image_info,image); + quantum_info=AcquireQuantumInfo(image_info,image,exception); if (quantum_info == (QuantumInfo *) NULL) ThrowWriterException(ResourceLimitError,"MemoryAllocationFailed"); pixels=GetQuantumPixels(quantum_info); diff --git a/coders/ipl.c b/coders/ipl.c index 49d6d0695..c20468397 100644 --- a/coders/ipl.c +++ b/coders/ipl.c @@ -321,7 +321,7 @@ static Image *ReadIPLImage(const ImageInfo *image_info,ExceptionInfo *exception) printf("Length: %.20g, Memory size: %.20g\n", (double) length,(double) image->depth); */ - quantum_info=AcquireQuantumInfo(image_info,image); + quantum_info=AcquireQuantumInfo(image_info,image,exception); if (quantum_info == (QuantumInfo *) NULL) ThrowReaderException(ResourceLimitError,"MemoryAllocationFailed"); status=SetQuantumFormat(image,quantum_info,quantum_format); @@ -540,7 +540,7 @@ static MagickBooleanType WriteIPLImage(const ImageInfo *image_info,Image *image, scene=0; - quantum_info=AcquireQuantumInfo(image_info, image); + quantum_info=AcquireQuantumInfo(image_info,image,exception); if ((quantum_info->format == UndefinedQuantumFormat) && (IsHighDynamicRangeImage(image,exception) != MagickFalse)) SetQuantumFormat(image,quantum_info,FloatingPointQuantumFormat); diff --git a/coders/mat.c b/coders/mat.c index d5b9e8929..4ac2f8e6c 100644 --- a/coders/mat.c +++ b/coders/mat.c @@ -839,7 +839,7 @@ RestoreMSCWarning (void) sample_size; image->columns = MATLAB_HDR.SizeX; image->rows = MATLAB_HDR.SizeY; - quantum_info=AcquireQuantumInfo(clone_info,image); + quantum_info=AcquireQuantumInfo(clone_info,image,exception); if (quantum_info == (QuantumInfo *) NULL) ThrowReaderException(ResourceLimitError,"MemoryAllocationFailed"); one=1; @@ -1270,7 +1270,7 @@ static MagickBooleanType WriteMATImage(const ImageInfo *image_info,Image *image, /* Store image data. */ - quantum_info=AcquireQuantumInfo(image_info,image); + quantum_info=AcquireQuantumInfo(image_info,image,exception); if (quantum_info == (QuantumInfo *) NULL) ThrowWriterException(ResourceLimitError,"MemoryAllocationFailed"); pixels=GetQuantumPixels(quantum_info); diff --git a/coders/miff.c b/coders/miff.c index 20b739f5b..25a9172a0 100644 --- a/coders/miff.c +++ b/coders/miff.c @@ -1244,7 +1244,7 @@ static Image *ReadMIFFImage(const ImageInfo *image_info, /* Allocate image pixels. */ - quantum_info=AcquireQuantumInfo(image_info,image); + quantum_info=AcquireQuantumInfo(image_info,image,exception); if (quantum_info == (QuantumInfo *) NULL) ThrowReaderException(ResourceLimitError,"MemoryAllocationFailed"); if (quantum_format != UndefinedQuantumFormat) @@ -1976,7 +1976,7 @@ static MagickBooleanType WriteMIFFImage(const ImageInfo *image_info, else if (IsGrayColorspace(image->colorspace) == MagickFalse) (void) SetImageColorspace(image,GRAYColorspace,exception); - quantum_info=AcquireQuantumInfo(image_info,image); + quantum_info=AcquireQuantumInfo(image_info,image,exception); if (quantum_info == (QuantumInfo *) NULL) ThrowWriterException(ResourceLimitError,"MemoryAllocationFailed"); if ((image->storage_class != PseudoClass) && (image->depth >= 32) && diff --git a/coders/pdb.c b/coders/pdb.c index 015727df8..b251fea4a 100644 --- a/coders/pdb.c +++ b/coders/pdb.c @@ -823,7 +823,7 @@ static MagickBooleanType WritePDBImage(const ImageInfo *image_info,Image *image, /* Convert to GRAY raster scanline. */ - quantum_info=AcquireQuantumInfo(image_info,image); + quantum_info=AcquireQuantumInfo(image_info,image,exception); if (quantum_info == (QuantumInfo *) NULL) ThrowWriterException(ResourceLimitError,"MemoryAllocationFailed"); bits=8/(int) bits_per_pixel-1; /* start at most significant bits */ diff --git a/coders/png.c b/coders/png.c index 462d031e5..b9a586ae1 100644 --- a/coders/png.c +++ b/coders/png.c @@ -3156,7 +3156,7 @@ static Image *ReadOnePNGImage(MngInfo *mng_info, /* Convert PNG pixels to pixel packets. */ - quantum_info=AcquireQuantumInfo(image_info,image); + quantum_info=AcquireQuantumInfo(image_info,image,exception); if (quantum_info == (QuantumInfo *) NULL) png_error(ping,"Failed to allocate quantum_info"); @@ -10812,7 +10812,7 @@ static MagickBooleanType WriteOnePNGImage(MngInfo *mng_info, /* Initialize image scanlines. */ - quantum_info=AcquireQuantumInfo(image_info,image); + quantum_info=AcquireQuantumInfo(image_info,image,exception); if (quantum_info == (QuantumInfo *) NULL) png_error(ping,"Memory allocation for quantum_info failed"); quantum_info->format=UndefinedQuantumFormat; diff --git a/coders/pnm.c b/coders/pnm.c index a13dcf935..c86f39870 100644 --- a/coders/pnm.c +++ b/coders/pnm.c @@ -552,7 +552,7 @@ static Image *ReadPNMImage(const ImageInfo *image_info,ExceptionInfo *exception) quantum_type=GrayQuantum; if (image->storage_class == PseudoClass) quantum_type=IndexQuantum; - quantum_info=AcquireQuantumInfo(image_info,image); + quantum_info=AcquireQuantumInfo(image_info,image,exception); if (quantum_info == (QuantumInfo *) NULL) ThrowReaderException(ResourceLimitError,"MemoryAllocationFailed"); SetQuantumMinIsWhite(quantum_info,MagickTrue); @@ -629,7 +629,7 @@ static Image *ReadPNMImage(const ImageInfo *image_info,ExceptionInfo *exception) extent=2*image->columns; else extent=4*image->columns; - quantum_info=AcquireQuantumInfo(image_info,image); + quantum_info=AcquireQuantumInfo(image_info,image,exception); if (quantum_info == (QuantumInfo *) NULL) ThrowReaderException(ResourceLimitError,"MemoryAllocationFailed"); for (y=0; y < (ssize_t) image->rows; y++) @@ -747,7 +747,7 @@ static Image *ReadPNMImage(const ImageInfo *image_info,ExceptionInfo *exception) */ quantum_type=RGBQuantum; extent=3*(image->depth <= 8 ? 1 : 2)*image->columns; - quantum_info=AcquireQuantumInfo(image_info,image); + quantum_info=AcquireQuantumInfo(image_info,image,exception); if (quantum_info == (QuantumInfo *) NULL) ThrowReaderException(ResourceLimitError,"MemoryAllocationFailed"); (void) SetQuantumEndian(image,quantum_info,MSBEndian); @@ -950,7 +950,7 @@ static Image *ReadPNMImage(const ImageInfo *image_info,ExceptionInfo *exception) extent=2*channels*image->columns; else extent=4*channels*image->columns; - quantum_info=AcquireQuantumInfo(image_info,image); + quantum_info=AcquireQuantumInfo(image_info,image,exception); if (quantum_info == (QuantumInfo *) NULL) ThrowReaderException(ResourceLimitError,"MemoryAllocationFailed"); for (y=0; y < (ssize_t) image->rows; y++) @@ -1251,7 +1251,7 @@ static Image *ReadPNMImage(const ImageInfo *image_info,ExceptionInfo *exception) quantum_type=format == 'f' ? GrayQuantum : RGBQuantum; image->endian=quantum_scale < 0.0 ? LSBEndian : MSBEndian; image->depth=32; - quantum_info=AcquireQuantumInfo(image_info,image); + quantum_info=AcquireQuantumInfo(image_info,image,exception); if (quantum_info == (QuantumInfo *) NULL) ThrowReaderException(ResourceLimitError,"MemoryAllocationFailed"); status=SetQuantumDepth(image,quantum_info,32); @@ -1905,9 +1905,10 @@ static MagickBooleanType WritePNMImage(const ImageInfo *image_info,Image *image, */ (void) SetImageType(image,BilevelType,exception); image->depth=1; - quantum_info=AcquireQuantumInfo((const ImageInfo *) NULL,image); + quantum_info=AcquireQuantumInfo(image_info,image,exception); if (quantum_info == (QuantumInfo *) NULL) ThrowWriterException(ResourceLimitError,"MemoryAllocationFailed"); + (void) SetQuantumEndian(image,quantum_info,MSBEndian); quantum_info->min_is_white=MagickTrue; pixels=GetQuantumPixels(quantum_info); for (y=0; y < (ssize_t) image->rows; y++) @@ -1944,9 +1945,10 @@ static MagickBooleanType WritePNMImage(const ImageInfo *image_info,Image *image, (void) FormatLocaleString(buffer,MaxTextExtent,"%.20g\n",(double) ((MagickOffsetType) GetQuantumRange(image->depth))); (void) WriteBlobString(image,buffer); - quantum_info=AcquireQuantumInfo((const ImageInfo *) NULL,image); + quantum_info=AcquireQuantumInfo(image_info,image,exception); if (quantum_info == (QuantumInfo *) NULL) ThrowWriterException(ResourceLimitError,"MemoryAllocationFailed"); + (void) SetQuantumEndian(image,quantum_info,MSBEndian); quantum_info->min_is_white=MagickTrue; pixels=GetQuantumPixels(quantum_info); extent=GetQuantumExtent(image,quantum_info,GrayQuantum); @@ -2060,7 +2062,7 @@ static MagickBooleanType WritePNMImage(const ImageInfo *image_info,Image *image, (void) FormatLocaleString(buffer,MaxTextExtent,"%.20g\n",(double) ((MagickOffsetType) GetQuantumRange(image->depth))); (void) WriteBlobString(image,buffer); - quantum_info=AcquireQuantumInfo((const ImageInfo *) NULL,image); + quantum_info=AcquireQuantumInfo(image_info,image,exception); if (quantum_info == (QuantumInfo *) NULL) ThrowWriterException(ResourceLimitError,"MemoryAllocationFailed"); (void) SetQuantumEndian(image,quantum_info,MSBEndian); @@ -2155,7 +2157,10 @@ static MagickBooleanType WritePNMImage(const ImageInfo *image_info,Image *image, */ if (image->depth > 32) image->depth=32; - quantum_info=AcquireQuantumInfo((const ImageInfo *) NULL,image); + quantum_info=AcquireQuantumInfo(image_info,image,exception); + if (quantum_info == (QuantumInfo *) NULL) + ThrowWriterException(ResourceLimitError,"MemoryAllocationFailed"); + (void) SetQuantumEndian(image,quantum_info,MSBEndian); pixels=GetQuantumPixels(quantum_info); for (y=0; y < (ssize_t) image->rows; y++) { @@ -2398,9 +2403,10 @@ static MagickBooleanType WritePNMImage(const ImageInfo *image_info,Image *image, "1.0\n"); image->depth=32; quantum_type=format == 'f' ? GrayQuantum : RGBQuantum; - quantum_info=AcquireQuantumInfo((const ImageInfo *) NULL,image); + quantum_info=AcquireQuantumInfo(image_info,image,exception); if (quantum_info == (QuantumInfo *) NULL) ThrowWriterException(ResourceLimitError,"MemoryAllocationFailed"); + (void) SetQuantumEndian(image,quantum_info,MSBEndian); status=SetQuantumFormat(image,quantum_info,FloatingPointQuantumFormat); if (status == MagickFalse) ThrowWriterException(ResourceLimitError,"MemoryAllocationFailed"); diff --git a/coders/psd.c b/coders/psd.c index f97e44943..fc237dee5 100644 --- a/coders/psd.c +++ b/coders/psd.c @@ -2095,7 +2095,7 @@ static void WritePackbitsLength(const PSDInfo *psd_info, next_image->depth=16; packet_size=next_image->depth > 8UL ? 2UL : 1UL; (void) packet_size; - quantum_info=AcquireQuantumInfo(image_info,image); + quantum_info=AcquireQuantumInfo(image_info,image,exception); pixels=GetQuantumPixels(quantum_info); for (y=0; y < (ssize_t) next_image->rows; y++) { @@ -2148,7 +2148,7 @@ static void WriteOneChannel(const PSDInfo *psd_info,const ImageInfo *image_info, MagickTrue : MagickFalse; packet_size=next_image->depth > 8UL ? 2UL : 1UL; (void) packet_size; - quantum_info=AcquireQuantumInfo(image_info,image); + quantum_info=AcquireQuantumInfo(image_info,image,exception); pixels=GetQuantumPixels(quantum_info); for (y=0; y < (ssize_t) next_image->rows; y++) { diff --git a/coders/raw.c b/coders/raw.c index ec0dd446e..2e878ea1c 100644 --- a/coders/raw.c +++ b/coders/raw.c @@ -152,7 +152,7 @@ static Image *ReadRAWImage(const ImageInfo *image_info,ExceptionInfo *exception) (void) SetImageVirtualPixelMethod(canvas_image,BlackVirtualPixelMethod, exception); quantum_type=GrayQuantum; - quantum_info=AcquireQuantumInfo(image_info,canvas_image); + quantum_info=AcquireQuantumInfo(image_info,canvas_image,exception); if (quantum_info == (QuantumInfo *) NULL) ThrowReaderException(ResourceLimitError,"MemoryAllocationFailed"); pixels=GetQuantumPixels(quantum_info); @@ -557,7 +557,7 @@ static MagickBooleanType WriteRAWImage(const ImageInfo *image_info,Image *image, /* Convert image to RAW raster pixels. */ - quantum_info=AcquireQuantumInfo(image_info,image); + quantum_info=AcquireQuantumInfo(image_info,image,exception); if (quantum_info == (QuantumInfo *) NULL) ThrowWriterException(ResourceLimitError,"MemoryAllocationFailed"); pixels=GetQuantumPixels(quantum_info); diff --git a/coders/rgb.c b/coders/rgb.c index 74eced2dc..2b72c5785 100644 --- a/coders/rgb.c +++ b/coders/rgb.c @@ -160,7 +160,7 @@ static Image *ReadRGBImage(const ImageInfo *image_info,ExceptionInfo *exception) exception); (void) SetImageVirtualPixelMethod(canvas_image,BlackVirtualPixelMethod, exception); - quantum_info=AcquireQuantumInfo(image_info,canvas_image); + quantum_info=AcquireQuantumInfo(image_info,canvas_image,exception); if (quantum_info == (QuantumInfo *) NULL) ThrowReaderException(ResourceLimitError,"MemoryAllocationFailed"); pixels=GetQuantumPixels(quantum_info); @@ -1113,7 +1113,7 @@ static MagickBooleanType WriteRGBImage(const ImageInfo *image_info, if ((LocaleCompare(image_info->magick,"RGBA") == 0) && (image->alpha_trait != BlendPixelTrait)) (void) SetImageAlphaChannel(image,OpaqueAlphaChannel,exception); - quantum_info=AcquireQuantumInfo(image_info,image); + quantum_info=AcquireQuantumInfo(image_info,image,exception); if (quantum_info == (QuantumInfo *) NULL) ThrowWriterException(ResourceLimitError,"MemoryAllocationFailed"); pixels=GetQuantumPixels(quantum_info); diff --git a/coders/tiff.c b/coders/tiff.c index dd87750a5..d23263a8f 100644 --- a/coders/tiff.c +++ b/coders/tiff.c @@ -1327,7 +1327,7 @@ RestoreMSCWarning /* Allocate memory for the image and pixel buffer. */ - quantum_info=AcquireQuantumInfo(image_info,image); + quantum_info=AcquireQuantumInfo(image_info,image,exception); if (quantum_info == (QuantumInfo *) NULL) { TIFFClose(tiff); @@ -3075,7 +3075,7 @@ static MagickBooleanType WriteTIFFImage(const ImageInfo *image_info, default: break; } - quantum_info=AcquireQuantumInfo(image_info,image); + quantum_info=AcquireQuantumInfo(image_info,image,exception); if (quantum_info == (QuantumInfo *) NULL) ThrowWriterException(ResourceLimitError,"MemoryAllocationFailed"); if ((image->storage_class != PseudoClass) && (image->depth >= 32) && diff --git a/coders/vicar.c b/coders/vicar.c index 7800fbc84..d9cec7291 100644 --- a/coders/vicar.c +++ b/coders/vicar.c @@ -291,7 +291,7 @@ static Image *ReadVICARImage(const ImageInfo *image_info, */ (void) SetImageColorspace(image,GRAYColorspace,exception); quantum_type=GrayQuantum; - quantum_info=AcquireQuantumInfo(image_info,image); + quantum_info=AcquireQuantumInfo(image_info,image,exception); if (quantum_info == (QuantumInfo *) NULL) ThrowReaderException(ResourceLimitError,"MemoryAllocationFailed"); pixels=GetQuantumPixels(quantum_info); @@ -472,7 +472,7 @@ static MagickBooleanType WriteVICARImage(const ImageInfo *image_info, Write VICAR pixels. */ image->depth=8; - quantum_info=AcquireQuantumInfo(image_info,image); + quantum_info=AcquireQuantumInfo(image_info,image,exception); if (quantum_info == (QuantumInfo *) NULL) ThrowWriterException(ResourceLimitError,"MemoryAllocationFailed"); pixels=GetQuantumPixels(quantum_info); diff --git a/coders/ycbcr.c b/coders/ycbcr.c index bc57872ab..05342d564 100644 --- a/coders/ycbcr.c +++ b/coders/ycbcr.c @@ -168,7 +168,7 @@ static Image *ReadYCBCRImage(const ImageInfo *image_info, exception); (void) SetImageVirtualPixelMethod(canvas_image,BlackVirtualPixelMethod, exception); - quantum_info=AcquireQuantumInfo(image_info,canvas_image); + quantum_info=AcquireQuantumInfo(image_info,canvas_image,exception); if (quantum_info == (QuantumInfo *) NULL) ThrowReaderException(ResourceLimitError,"MemoryAllocationFailed"); pixels=GetQuantumPixels(quantum_info); @@ -1020,7 +1020,7 @@ static MagickBooleanType WriteYCBCRImage(const ImageInfo *image_info, if ((LocaleCompare(image_info->magick,"YCbCrA") == 0) && (image->alpha_trait != BlendPixelTrait)) (void) SetImageAlphaChannel(image,OpaqueAlphaChannel,exception); - quantum_info=AcquireQuantumInfo(image_info,image); + quantum_info=AcquireQuantumInfo(image_info,image,exception); if (quantum_info == (QuantumInfo *) NULL) ThrowWriterException(ResourceLimitError,"MemoryAllocationFailed"); pixels=GetQuantumPixels(quantum_info); -- 2.40.0