GraphicsMagick: MSLEndElement(): Ignore imbalanced group closure.

GraphicsMagick Commits <[email protected]>
Newsgroups gmane.comp.video.graphicsmagick.cvs
Message-ID <mailman.8255.1636033693.3308.graphicsmagick-commit@lists.sourceforge.net>
changeset 9dacc3ab04f2 in /hg/GraphicsMagick
details: http://hg.GraphicsMagick.org/hg/GraphicsMagick?cmd=changeset;node=9dacc3ab04f2
summary: MSLEndElement(): Ignore imbalanced group closure.

diffstat:

 ChangeLog                              |  6 ++++++
 VisualMagick/installer/inc/version.isx |  4 ++--
 coders/msl.c                           |  3 ++-
 magick/version.h                       |  4 ++--
 www/Changelog.html                     |  5 +++++
 5 files changed, 17 insertions(+), 5 deletions(-)

diffs (66 lines):

diff -r bda0789b88f2 -r 9dacc3ab04f2 ChangeLog
--- a/ChangeLog	Wed Nov 03 13:24:04 2021 -0500
+++ b/ChangeLog	Thu Nov 04 08:47:57 2021 -0500
@@ -1,3 +1,9 @@
+2021-11-04  Bob Friesenhahn  <[email protected]>
+
+        * coders/msl.c (MSLEndElement): Ignore imbalanced group
+        closure. Fixes oss-fuzz 40680 "graphicsmagick:coder_MSL_fuzzer:
+        Heap-buffer-overflow in MSLEndElement".
+
 2021-11-03  Bob Friesenhahn  <[email protected]>
 
         * coders/tiff.c (ReadTIFFImage): Make sure that loops using
diff -r bda0789b88f2 -r 9dacc3ab04f2 VisualMagick/installer/inc/version.isx
--- a/VisualMagick/installer/inc/version.isx	Wed Nov 03 13:24:04 2021 -0500
+++ b/VisualMagick/installer/inc/version.isx	Thu Nov 04 08:47:57 2021 -0500
@@ -10,5 +10,5 @@
 
 #define public MagickPackageName "GraphicsMagick"
 #define public MagickPackageVersion "1.4"
-#define public MagickPackageVersionAddendum ".020211103"
-#define public MagickPackageReleaseDate "snapshot-20211103"
+#define public MagickPackageVersionAddendum ".020211104"
+#define public MagickPackageReleaseDate "snapshot-20211104"
diff -r bda0789b88f2 -r 9dacc3ab04f2 coders/msl.c
--- a/coders/msl.c	Wed Nov 03 13:24:04 2021 -0500
+++ b/coders/msl.c	Thu Nov 04 08:47:57 2021 -0500
@@ -4161,7 +4161,8 @@
       {
         if (LocaleCompare((char *) name, "group") == 0 )
           {
-            if (msl_info->group_info[msl_info->nGroups-1].numImages > 0 )
+            if ((msl_info->nGroups > 0) &&
+                (msl_info->group_info[msl_info->nGroups-1].numImages > 0))
               {
                 long  i = (long)
                   (msl_info->group_info[msl_info->nGroups-1].numImages);
diff -r bda0789b88f2 -r 9dacc3ab04f2 magick/version.h
--- a/magick/version.h	Wed Nov 03 13:24:04 2021 -0500
+++ b/magick/version.h	Thu Nov 04 08:47:57 2021 -0500
@@ -38,8 +38,8 @@
 #define MagickLibVersion  0x252200
 #define MagickLibVersionText  "1.4"
 #define MagickLibVersionNumber 25,22,0
-#define MagickChangeDate   "20211103"
-#define MagickReleaseDate  "snapshot-20211103"
+#define MagickChangeDate   "20211104"
+#define MagickReleaseDate  "snapshot-20211104"
 
 /*
   The MagickLibInterfaceNewest and MagickLibInterfaceOldest defines
diff -r bda0789b88f2 -r 9dacc3ab04f2 www/Changelog.html
--- a/www/Changelog.html	Wed Nov 03 13:24:04 2021 -0500
+++ b/www/Changelog.html	Thu Nov 04 08:47:57 2021 -0500
@@ -35,6 +35,11 @@
 <div class="document">
 
 
+<p>2021-11-04  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
+<blockquote>
+* coders/msl.c (MSLEndElement): Ignore imbalanced group
+closure. Fixes oss-fuzz 40680 &quot;graphicsmagick:coder_MSL_fuzzer:
+Heap-buffer-overflow in MSLEndElement&quot;.</blockquote>
 <p>2021-11-03  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
 <blockquote>
 <p>* coders/tiff.c (ReadTIFFImage): Make sure that loops using
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.