Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package GraphicsMagick for openSUSE:Factory checked in at 2026-07-23 23:08:37 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/GraphicsMagick (Old) and /work/SRC/openSUSE:Factory/.GraphicsMagick.new.2004 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "GraphicsMagick" Thu Jul 23 23:08:37 2026 rev:108 rq:1366913 version:1.3.47 Changes: -------- --- /work/SRC/openSUSE:Factory/GraphicsMagick/GraphicsMagick.changes 2026-07-10 17:35:00.732206978 +0200 +++ /work/SRC/openSUSE:Factory/.GraphicsMagick.new.2004/GraphicsMagick.changes 2026-07-23 23:09:08.445755111 +0200 @@ -1,0 +2,7 @@ +Tue Jul 21 09:22:08 UTC 2026 - Petr Gajdos <[email protected]> + +- added patches + CVE-2026-61870: Memory leak in VIFF encoder when allocation fails [bsc#1271293] + * GraphicsMagick-CVE-2026-61870.patch + +------------------------------------------------------------------- New: ---- GraphicsMagick-CVE-2026-61870.patch ----------(New B)---------- New: CVE-2026-61870: Memory leak in VIFF encoder when allocation fails [bsc#1271293] * GraphicsMagick-CVE-2026-61870.patch ----------(New E)---------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ GraphicsMagick.spec ++++++ --- /var/tmp/diff_new_pack.zgmfZY/_old 2026-07-23 23:09:09.293784888 +0200 +++ /var/tmp/diff_new_pack.zgmfZY/_new 2026-07-23 23:09:09.297785029 +0200 @@ -39,6 +39,8 @@ Patch8: GraphicsMagick-CVE-2026-46523.patch # CVE-2026-13606: memory corruption via crafted Photo CD (PCD) file [bsc#1269891] Patch9: GraphicsMagick-CVE-2026-13606.patch +# CVE-2026-61870: Memory leak in VIFF encoder when allocation fails [bsc#1271293] +Patch10: GraphicsMagick-CVE-2026-61870.patch BuildRequires: cups-client BuildRequires: dcraw BuildRequires: gcc-c++ ++++++ GraphicsMagick-CVE-2026-61870.patch ++++++ # HG changeset patch # User Bob Friesenhahn <[email protected]> # Date 1784565879 18000 # Mon Jul 20 11:44:39 2026 -0500 # Node ID 9a3f76d3ad2cae31296cbb6da0cb3fed4dfb6818 # Parent 9dce82fa39599a42b21424e31527263762fd2b4a coders/viff.c (WriteVIFFImage): Assure that 'viff_pixels' allocation is not leaked in error case. diff --git a/coders/viff.c b/coders/viff.c --- a/coders/viff.c +++ b/coders/viff.c @@ -1026,6 +1026,11 @@ #define VFF_MS_ONEPERBAND 1 #define VFF_TYP_BIT 0 #define VFF_TYP_1_BYTE 1 +#define ThrowVIFFWriterException(code_,reason_,image_) \ + { \ + MagickFreeResourceLimitedMemory(unsigned char *,viff_pixels); \ + ThrowWriterException(code_,reason_,image_); \ + } static unsigned int WriteVIFFImage(const ImageInfo *image_info,Image *image) { const ImageAttribute @@ -1050,7 +1055,7 @@ *q; unsigned char - *viff_pixels; + *viff_pixels = (unsigned char *) NULL; unsigned int status; @@ -1078,7 +1083,7 @@ image_list_length=GetImageListLength(image); status=OpenBlob(image_info,image,WriteBinaryBlobMode,&image->exception); if (status == False) - ThrowWriterException(FileOpenError,UnableToOpenFile,image); + ThrowVIFFWriterException(FileOpenError,UnableToOpenFile,image); (void) memset(&viff_info,0,sizeof(ViffInfo)); scene=0; do @@ -1090,14 +1095,14 @@ Ensure that image is in an RGB space. */ if (TransformColorspace(image,RGBColorspace) == MagickFail) - ThrowWriterException(CoderError,UnableToTransformColorspace,image); + ThrowVIFFWriterException(CoderError,UnableToTransformColorspace,image); /* Analyze image to be written. */ if (GetImageCharacteristics(image,&characteristics, (OptimizeType == image_info->type), &image->exception) == MagickFail) - ThrowWriterException(CoderError,UnableToGetImageCharacteristics,image); + ThrowVIFFWriterException(CoderError,UnableToGetImageCharacteristics,image); /* Initialize VIFF image structure. */ @@ -1221,7 +1226,7 @@ */ viff_pixels=MagickAllocateResourceLimitedMemory(unsigned char *,packets); if (viff_pixels == (unsigned char *) NULL) - ThrowWriterException(ResourceLimitError,MemoryAllocationFailed,image); + ThrowVIFFWriterException(ResourceLimitError,MemoryAllocationFailed,image); q=viff_pixels; if (image->storage_class == DirectClass) { @@ -1264,8 +1269,8 @@ viff_colormap=MagickAllocateResourceLimitedMemory(unsigned char *, MagickArraySize(3,image->colors)); if (viff_colormap == (unsigned char *) NULL) - ThrowWriterException(ResourceLimitError,MemoryAllocationFailed, - image); + ThrowVIFFWriterException(ResourceLimitError,MemoryAllocationFailed, + image); q=viff_colormap; for (i=0; i < (long) image->colors; i++) *q++=ScaleQuantumToChar(image->colormap[i].red); @@ -1311,10 +1316,7 @@ Convert PseudoClass image to a VIFF monochrome image. */ if (SetImageType(image,BilevelType) == MagickFail) - { - MagickFreeResourceLimitedMemory(unsigned char *,viff_pixels); - ThrowWriterException(CoderError,UnableToSetImageType,image); - } + ThrowVIFFWriterException(CoderError,UnableToSetImageType,image); polarity=PixelIntensityToQuantum(&image->colormap[0]) < (MaxRGB/2); if (image->colors == 2) polarity=PixelIntensityToQuantum(&image->colormap[0]) <
