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]) <

Reply via email to