From 1fcc8b6929f33460f4e01b85e5b848e533b88a3b Mon Sep 17 00:00:00 2001 From: cristy Date: Fri, 2 Mar 2012 17:25:55 +0000 Subject: [PATCH] --- coders/jpeg.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/coders/jpeg.c b/coders/jpeg.c index 809e405d5..069d8c344 100644 --- a/coders/jpeg.c +++ b/coders/jpeg.c @@ -1597,6 +1597,9 @@ static QuantizationTable *GetQuantizationTable(const char *filename, QuantizationTable *table; + size_t + length; + XMLTreeInfo *description, *levels, @@ -1732,8 +1735,11 @@ static QuantizationTable *GetQuantizationTable(const char *filename, xml=DestroyString(xml); return(table); } - table->levels=(unsigned int *) AcquireQuantumMemory((size_t) table->width, - table->height*sizeof(*table->levels)); + length=(size_t) table->width*table->height; + if (length < 64) + length=64; + table->levels=(unsigned int *) AcquireQuantumMemory(length* + sizeof(*table->levels)); if (table->levels == (unsigned int *) NULL) ThrowFatalException(ResourceLimitFatalError, "UnableToAcquireQuantizationTable"); @@ -2634,8 +2640,7 @@ static MagickBooleanType WriteJPEGImage(const ImageInfo *image_info, q=jpeg_pixels; for (x=0; x < (ssize_t) image->columns; x++) { - *q++=(JSAMPLE) (ScaleQuantumToShort(GetPixelIntensity(image,p)) >> - 4); + *q++=(JSAMPLE) (ScaleQuantumToShort(GetPixelIntensity(image,p)) >> 4); p+=GetPixelChannels(image); } (void) jpeg_write_scanlines(&jpeg_info,scanline,1); -- 2.50.1