Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-12-SP4:GA
ImageMagick
ImageMagick-CVE-2017-12664.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File ImageMagick-CVE-2017-12664.patch of Package ImageMagick
Index: ImageMagick-6.8.8-1/coders/palm.c =================================================================== --- ImageMagick-6.8.8-1.orig/coders/palm.c 2018-01-31 15:22:02.786181808 +0100 +++ ImageMagick-6.8.8-1/coders/palm.c 2018-01-31 15:33:21.017236328 +0100 @@ -857,13 +857,25 @@ static MagickBooleanType WritePALMImage( (void) WriteBlobMSBShort(image,0); /* fill in size later */ lastrow=(unsigned char *) NULL; if (image_info->compression == FaxCompression) - lastrow=(unsigned char *) AcquireQuantumMemory(bytes_per_row, - sizeof(*lastrow)); + { + lastrow=(unsigned char *) AcquireQuantumMemory(bytes_per_row, + sizeof(*lastrow)); + if (lastrow == (unsigned char *) NULL) + { + quantize_info=DestroyQuantizeInfo(quantize_info); + ThrowWriterException(ResourceLimitError,"MemoryAllocationFailed"); + } + } /* TODO check whether memory really was acquired? */ one_row=(unsigned char *) AcquireQuantumMemory(bytes_per_row, sizeof(*one_row)); if (one_row == (unsigned char *) NULL) - ThrowWriterException(ResourceLimitError,"MemoryAllocationFailed"); + { + if (image_info->compression == FaxCompression) + lastrow=(unsigned char *) RelinquishMagickMemory(lastrow); + quantize_info=DestroyQuantizeInfo(quantize_info); + ThrowWriterException(ResourceLimitError,"MemoryAllocationFailed"); + } for (y=0; y < (ssize_t) image->rows; y++) { ptr=one_row; Index: ImageMagick-6.8.8-1/magick/quantize.c =================================================================== --- ImageMagick-6.8.8-1.orig/magick/quantize.c 2013-12-22 02:50:17.000000000 +0100 +++ ImageMagick-6.8.8-1/magick/quantize.c 2018-01-31 15:39:42.927480707 +0100 @@ -3334,8 +3334,11 @@ static MagickBooleanType SetGrayscaleIma colormap_index=(ssize_t *) AcquireQuantumMemory(MaxMap+1, sizeof(*colormap_index)); if (colormap_index == (ssize_t *) NULL) - ThrowBinaryException(ResourceLimitError,"MemoryAllocationFailed", - image->filename); + { + colormap_index=(ssize_t *) RelinquishMagickMemory(colormap_index); + ThrowBinaryException(ResourceLimitError,"MemoryAllocationFailed", + image->filename); + } if (image->storage_class != PseudoClass) { ExceptionInfo @@ -3344,8 +3347,11 @@ static MagickBooleanType SetGrayscaleIma for (i=0; i <= (ssize_t) MaxMap; i++) colormap_index[i]=(-1); if (AcquireImageColormap(image,MaxMap+1) == MagickFalse) - ThrowBinaryException(ResourceLimitError,"MemoryAllocationFailed", - image->filename); + { + colormap_index=(ssize_t *) RelinquishMagickMemory(colormap_index); + ThrowBinaryException(ResourceLimitError,"MemoryAllocationFailed", + image->filename); + } image->colors=0; status=MagickTrue; exception=(&image->exception); @@ -3410,8 +3416,11 @@ static MagickBooleanType SetGrayscaleIma colormap=(PixelPacket *) AcquireQuantumMemory(image->colors, sizeof(*colormap)); if (colormap == (PixelPacket *) NULL) - ThrowBinaryException(ResourceLimitError,"MemoryAllocationFailed", - image->filename); + { + colormap_index=(ssize_t *) RelinquishMagickMemory(colormap_index); + ThrowBinaryException(ResourceLimitError,"MemoryAllocationFailed", + image->filename); + } j=0; colormap[j]=image->colormap[0]; for (i=0; i < (ssize_t) image->colors; i++)
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor