From: cristy Date: Sun, 23 Jun 2013 16:34:03 +0000 (+0000) Subject: (no commit message) X-Git-Tag: 7.0.1-0~3560 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=22646e2e5109153caa820c55c18af753bb1843c4;p=imagemagick --- diff --git a/coders/bmp.c b/coders/bmp.c index a6e4da952..3ffc3ae37 100644 --- a/coders/bmp.c +++ b/coders/bmp.c @@ -2103,4 +2103,4 @@ static MagickBooleanType WriteBMPImage(const ImageInfo *image_info,Image *image, } while (image_info->adjoin != MagickFalse); (void) CloseBlob(image); return(MagickTrue); -} + diff --git a/coders/jpeg.c b/coders/jpeg.c index b45eada91..5718875b2 100644 --- a/coders/jpeg.c +++ b/coders/jpeg.c @@ -997,6 +997,9 @@ static Image *ReadJPEGImage(const ImageInfo *image_info, MagickSizeType number_pixels; + MemoryInfo + *memory_info; + Quantum index; @@ -1265,17 +1268,18 @@ static Image *ReadJPEGImage(const ImageInfo *image_info, (void) CloseBlob(image); return(GetFirstImageInList(image)); } - jpeg_pixels=(JSAMPLE *) AcquireQuantumMemory((size_t) image->columns, - jpeg_info.output_components*sizeof(JSAMPLE)); - if (jpeg_pixels == (JSAMPLE *) NULL) - ThrowReaderException(ResourceLimitError,"MemoryAllocationFailed"); + memory_info=AcquireVirtualMemory((size_t) image->columns, + jpeg_info.output_components*sizeof(*jpeg_pixels)); + if (memory_info == (MemoryInfo *) NULL) + ThrowWriterException(ResourceLimitError,"MemoryAllocationFailed"); + jpeg_pixels=(JSAMPLE *) GetVirtualMemoryBlob(memory_info); /* Convert JPEG pixels to pixel packets. */ if (setjmp(error_manager.error_recovery) != 0) { - if (jpeg_pixels != (JSAMPLE *) NULL) - jpeg_pixels=(JSAMPLE *) RelinquishMagickMemory(jpeg_pixels); + if (memory_info != (MemoryInfo *) NULL) + memory_info=RelinquishVirtualMemory(memory_info); jpeg_destroy_decompress(&jpeg_info); (void) CloseBlob(image); number_pixels=(MagickSizeType) image->columns*image->rows; @@ -1429,7 +1433,7 @@ static Image *ReadJPEGImage(const ImageInfo *image_info, Free jpeg resources. */ jpeg_destroy_decompress(&jpeg_info); - jpeg_pixels=(JSAMPLE *) RelinquishMagickMemory(jpeg_pixels); + memory_info=RelinquishVirtualMemory(memory_info); (void) CloseBlob(image); return(GetFirstImageInList(image)); } @@ -2036,6 +2040,9 @@ static MagickBooleanType WriteJPEGImage(const ImageInfo *image_info, MagickBooleanType status; + MemoryInfo + *memory_info; + register JSAMPLE *q; @@ -2577,15 +2584,16 @@ static MagickBooleanType WriteJPEGImage(const ImageInfo *image_info, /* Convert MIFF to JPEG raster pixels. */ - jpeg_pixels=(JSAMPLE *) AcquireQuantumMemory((size_t) image->columns, + memory_info=AcquireVirtualMemory((size_t) image->columns, jpeg_info.input_components*sizeof(*jpeg_pixels)); - if (jpeg_pixels == (JSAMPLE *) NULL) + if (memory_info == (MemoryInfo *) NULL) ThrowWriterException(ResourceLimitError,"MemoryAllocationFailed"); + jpeg_pixels=(JSAMPLE *) GetVirtualMemoryBlob(memory_info); if (setjmp(error_manager.error_recovery) != 0) { jpeg_destroy_compress(&jpeg_info); - if (jpeg_pixels != (JSAMPLE *) NULL) - jpeg_pixels=(JSAMPLE *) RelinquishMagickMemory(jpeg_pixels); + if (memory_info != (MemoryInfo *) NULL) + memory_info=RelinquishVirtualMemory(memory_info); (void) CloseBlob(image); return(MagickFalse); } @@ -2774,7 +2782,7 @@ static MagickBooleanType WriteJPEGImage(const ImageInfo *image_info, Relinquish resources. */ jpeg_destroy_compress(&jpeg_info); - jpeg_pixels=(JSAMPLE *) RelinquishMagickMemory(jpeg_pixels); + memory_info=RelinquishVirtualMemory(memory_info); (void) CloseBlob(image); return(MagickTrue); }