From: cristy Date: Tue, 11 Nov 2014 13:07:58 +0000 (+0000) Subject: (no commit message) X-Git-Tag: 7.0.1-0~1748 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=7d31f6e2fd5fe2bec993fb7b59737b07ac3cb093;p=imagemagick --- diff --git a/coders/jpeg.c b/coders/jpeg.c index e837a1ec2..c6b28f0d4 100644 --- a/coders/jpeg.c +++ b/coders/jpeg.c @@ -2258,6 +2258,23 @@ static MagickBooleanType WriteJPEGImage(const ImageInfo *image_info, if (option != (const char *) NULL) jpeg_info.optimize_coding=IsStringTrue(option) != MagickFalse ? TRUE : FALSE; + else + { + MagickSizeType + length; + + length=(MagickSizeType) jpeg_info.input_components*image->columns* + image->rows*sizeof(JSAMPLE); + if (length == (MagickSizeType) ((size_t) length)) + { + /* + Perform optimization only if available memory resources permit it. + */ + status=AcquireMagickResource(MemoryResource,length); + RelinquishMagickResource(MemoryResource,length); + jpeg_info.optimize_coding=status == MagickFalse ? FALSE : TRUE; + } + } #if (JPEG_LIB_VERSION >= 61) && defined(C_PROGRESSIVE_SUPPORTED) if ((LocaleCompare(image_info->magick,"PJPEG") == 0) || (image_info->interlace != NoInterlace))