GraphicsMagick: ReadTXTImage(): Assure that row array allocation...

GraphicsMagick Commits <[email protected]> Sun, 05 May 2024 08:52:34 -0500
Newsgroups gmane.comp.video.graphicsmagick.cvs
Message-ID <mailman.21389.1714917162.1550.graphicsmagick-commit@lists.sourceforge.net>
changeset eaf9376b8e19 in /hg/GraphicsMagick
details: http://hg.GraphicsMagick.org/hg/GraphicsMagick?cmd=changeset;node=eaf9376b8e19
summary: ReadTXTImage(): Assure that row array allocation is initialized.

diffstat:

 ChangeLog                              |   7 +++++++
 VisualMagick/installer/inc/version.isx |   4 ++--
 coders/txt.c                           |  10 +++++-----
 magick/version.h                       |   4 ++--
 www/ChangeLog.html                     |   9 +++++++++
 5 files changed, 25 insertions(+), 9 deletions(-)

diffs (85 lines):

diff -r 903ae8fb5392 -r eaf9376b8e19 ChangeLog
--- a/ChangeLog	Sat May 04 13:57:38 2024 -0500
+++ b/ChangeLog	Sun May 05 08:51:21 2024 -0500
@@ -1,3 +1,10 @@
+2024-05-05  Bob Friesenhahn  <[email protected]>
+
+	* coders/txt.c (ReadTXTImage): Assure that row array allocation is
+	initialized since it may not be completely filled. Should address
+	oss-fuzz 68716: "graphicsmagick:coder_TXT_fuzzer:
+	Use-of-uninitialized-value in GetColorTuple".
+
 2024-05-04  Bob Friesenhahn  <[email protected]>
 
 	* Magick++/lib/Magick++/STL.h: I changed my mind and have decided
diff -r 903ae8fb5392 -r eaf9376b8e19 VisualMagick/installer/inc/version.isx
--- a/VisualMagick/installer/inc/version.isx	Sat May 04 13:57:38 2024 -0500
+++ b/VisualMagick/installer/inc/version.isx	Sun May 05 08:51:21 2024 -0500
@@ -10,5 +10,5 @@
 
 #define public MagickPackageName "GraphicsMagick"
 #define public MagickPackageVersion "1.4"
-#define public MagickPackageVersionAddendum ".020240504"
-#define public MagickPackageReleaseDate "snapshot-20240504"
+#define public MagickPackageVersionAddendum ".020240505"
+#define public MagickPackageReleaseDate "snapshot-20240505"
diff -r 903ae8fb5392 -r eaf9376b8e19 coders/txt.c
--- a/coders/txt.c	Sat May 04 13:57:38 2024 -0500
+++ b/coders/txt.c	Sun May 05 08:51:21 2024 -0500
@@ -92,7 +92,7 @@
   else
     ch=' ';
 
-  while (ch != 10 && ch != 13 && ch != EOF)
+  while (ch != 10 /* LF */ && ch != 13 /* CR */ && ch != EOF)
     {
       ch = ReadBlobByte(image);
     }
@@ -649,10 +649,10 @@
         /* Assure that all image pixels are initialized to black */
         SetImage(image,OpaqueOpacity);
 
-        BImgBuff = MagickAllocateResourceLimitedArray(unsigned char *,
-                                       ((size_t)x+1),
-                                       ((size_t)((image->matte) ? 4 : 3)
-                                         * NumOfPlanes/8));
+        BImgBuff = MagickAllocateResourceLimitedClearedArray(unsigned char *,
+                                                             ((size_t)x+1),
+                                                             ((size_t)((image->matte) ? 4 : 3)
+                                                              * NumOfPlanes/8));
         WImgBuff = (magick_uint16_t *)BImgBuff;
         DImgBuff = (magick_uint32_t *)BImgBuff;
         if (BImgBuff == NULL)
diff -r 903ae8fb5392 -r eaf9376b8e19 magick/version.h
--- a/magick/version.h	Sat May 04 13:57:38 2024 -0500
+++ b/magick/version.h	Sun May 05 08:51:21 2024 -0500
@@ -38,8 +38,8 @@
 #define MagickLibVersion  0x282500
 #define MagickLibVersionText  "1.4"
 #define MagickLibVersionNumber 28,25,0
-#define MagickChangeDate   "20240504"
-#define MagickReleaseDate  "snapshot-20240504"
+#define MagickChangeDate   "20240505"
+#define MagickReleaseDate  "snapshot-20240505"
 
 /*
   The MagickLibInterfaceNewest and MagickLibInterfaceOldest defines
diff -r 903ae8fb5392 -r eaf9376b8e19 www/ChangeLog.html
--- a/www/ChangeLog.html	Sat May 04 13:57:38 2024 -0500
+++ b/www/ChangeLog.html	Sun May 05 08:51:21 2024 -0500
@@ -38,6 +38,15 @@
 
 <div class="document" id="graphicsmagick-changelog">
 <h1 class="title">GraphicsMagick ChangeLog</h1>
+<p>2024-05-05  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>
+<ul class="simple">
+<li><p>coders/txt.c (ReadTXTImage): Assure that row array allocation is
+initialized since it may not be completely filled. Should address
+oss-fuzz 68716: &quot;graphicsmagick:coder_TXT_fuzzer:
+Use-of-uninitialized-value in GetColorTuple&quot;.</p></li>
+</ul>
+</blockquote>
 <p>2024-05-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>
 <ul class="simple">