GraphicsMagick: 9 new changesets

GraphicsMagick Commits <[email protected]> Wed, 15 May 2024 16:10:02 -0500
Newsgroups gmane.comp.video.graphicsmagick.cvs
Message-ID <mailman.2483.1715807417.1586.graphicsmagick-commit@lists.sourceforge.net>
changeset 1c97ac7a0e9f in /hg/GraphicsMagick
details: http://hg.GraphicsMagick.org/hg/GraphicsMagick?cmd=changeset;node=1c97ac7a0e9f
summary: * coders/tiff.c: Fixed problem with overflowing IFD.

changeset f3db079b2b55 in /hg/GraphicsMagick
details: http://hg.GraphicsMagick.org/hg/GraphicsMagick?cmd=changeset;node=f3db079b2b55
summary: coders/tiff.c Fix blob overflow check.

changeset 8f10e02ccd6d in /hg/GraphicsMagick
details: http://hg.GraphicsMagick.org/hg/GraphicsMagick?cmd=changeset;node=8f10e02ccd6d
summary: coders/tiff.c Variant of call TIFFSetField is tag number dependent, too bad.

changeset 9df05d2fdae2 in /hg/GraphicsMagick
details: http://hg.GraphicsMagick.org/hg/GraphicsMagick?cmd=changeset;node=9df05d2fdae2
summary: coders/tiff.c: No need to add zero terminator when exact string size is given.

changeset aca619d5f304 in /hg/GraphicsMagick
details: http://hg.GraphicsMagick.org/hg/GraphicsMagick?cmd=changeset;node=aca619d5f304
summary: coders/tiff.c: Reorder EXIF blob size checking condition.

changeset 151f4fd67830 in /hg/GraphicsMagick
details: http://hg.GraphicsMagick.org/hg/GraphicsMagick?cmd=changeset;node=151f4fd67830
summary: Changelog updated

changeset b396041b7360 in /hg/GraphicsMagick
details: http://hg.GraphicsMagick.org/hg/GraphicsMagick?cmd=changeset;node=b396041b7360
summary: coders/tiff.c Typecast to size_t to elliminate 3 warnings.

changeset 8682331edcbd in /hg/GraphicsMagick
details: http://hg.GraphicsMagick.org/hg/GraphicsMagick?cmd=changeset;node=8682331edcbd
summary: coders/tiff.c Add 3 sanity checks of "Value". It must fit into profile_length range.

changeset 5488b9864182 in /hg/GraphicsMagick
details: http://hg.GraphicsMagick.org/hg/GraphicsMagick?cmd=changeset;node=5488b9864182
summary: Update generated files

diffstat:

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

diffs (125 lines):

diff -r 7655cc694dec -r 5488b9864182 ChangeLog
--- a/ChangeLog	Sun May 12 16:04:34 2024 -0500
+++ b/ChangeLog	Wed May 15 16:09:31 2024 -0500
@@ -1,3 +1,10 @@
+2024-05-15  Fojtik Jaroslav  <[email protected]>
+
+	* coders/tiff.c: Fixed problem with overflowing IFD.
+	https://sourceforge.net/p/graphicsmagick/bugs/738/
+	Fixed another parameter need for TIFFSetField/TIFFTAG_INKNAMES.
+        https://sourceforge.net/p/graphicsmagick/bugs/739/
+
 2024-05-12  Bob Friesenhahn  <[email protected]>
 
 	* coders/jbig.c (ReadJBIGImage): Coder log when creating colormap.
diff -r 7655cc694dec -r 5488b9864182 VisualMagick/installer/inc/version.isx
--- a/VisualMagick/installer/inc/version.isx	Sun May 12 16:04:34 2024 -0500
+++ b/VisualMagick/installer/inc/version.isx	Wed May 15 16:09:31 2024 -0500
@@ -10,5 +10,5 @@
 
 #define public MagickPackageName "GraphicsMagick"
 #define public MagickPackageVersion "1.4"
-#define public MagickPackageVersionAddendum ".020240512"
-#define public MagickPackageReleaseDate "snapshot-20240512"
+#define public MagickPackageVersionAddendum ".020240515"
+#define public MagickPackageReleaseDate "snapshot-20240515"
diff -r 7655cc694dec -r 5488b9864182 coders/tiff.c
--- a/coders/tiff.c	Sun May 12 16:04:34 2024 -0500
+++ b/coders/tiff.c	Wed May 15 16:09:31 2024 -0500
@@ -4466,12 +4466,17 @@
 {
 magick_uint32_t i = StrSize;
 
+  if(Tag==TIFFTAG_INKNAMES)		/* Variant of call is tag dependent, too bad. */
+        return TIFFSetField(tiff, Tag, StrSize, String);
+
 	/* Look for zero terminator. */
   while(i>0)
   {
     i--;
     if(String[i]==0)
+    {
       return TIFFSetField(tiff, Tag, String);
+    }
   }
 
   if(StrSize>0)
@@ -4514,10 +4519,10 @@
 
   do
   {
-    if(profile_length-(IFD_data-profile_data) < 2) return 0;
+    if(profile_length < (size_t)(IFD_data-profile_data)+2) return 0;
     EntryNum = LD_UINT16(IFD_data);
     profile_length-=2;
-    if(profile_length-(IFD_data-profile_data) < EntryNum*12) return 0;
+    if(profile_length < (size_t)(IFD_data-profile_data)+(EntryNum*12)) return 0;
     IFD_data+=2;
 
     while(EntryNum>0)
@@ -4544,12 +4549,14 @@
 
       if(Tag == TIFFTAG_EXIFIFD)
       {
+        if(Value >= profile_length) goto NextItem;
         if((Flags & FLAG_EXIF) != 0)
           FieldCount += AddIFDExifFields(tiff, profile_data, profile_data+Value, profile_length, logging, Flags|FLAG_BASE);
         goto NextItem;
       }
       if(Tag == TIFFTAG_GPSIFD)
       {
+        if(Value >= profile_length) goto NextItem;
         if((Flags & FLAG_GPS) != 0)
           FieldCount += AddIFDExifFields(tiff, profile_data, profile_data+Value, profile_length, logging, Flags|FLAG_BASE);
         goto NextItem;
@@ -4753,13 +4760,16 @@
       }
 
 NextItem:
+      if(profile_length <= 12)   
+          break;
       profile_length -=12;
       IFD_data += 12;
       EntryNum--;
     }
 
-    if(profile_length-(IFD_data-profile_data) < 4) break;
+    if(profile_length < (size_t)(IFD_data-profile_data)+4) break;
     Value = LD_UINT32(IFD_data);
+    if(Value>=profile_length) break;
     IFD_data = profile_data+Value;
   } while(Value>8);
 
diff -r 7655cc694dec -r 5488b9864182 magick/version.h
--- a/magick/version.h	Sun May 12 16:04:34 2024 -0500
+++ b/magick/version.h	Wed May 15 16:09:31 2024 -0500
@@ -38,8 +38,8 @@
 #define MagickLibVersion  0x282500
 #define MagickLibVersionText  "1.4"
 #define MagickLibVersionNumber 28,25,0
-#define MagickChangeDate   "20240512"
-#define MagickReleaseDate  "snapshot-20240512"
+#define MagickChangeDate   "20240515"
+#define MagickReleaseDate  "snapshot-20240515"
 
 /*
   The MagickLibInterfaceNewest and MagickLibInterfaceOldest defines
diff -r 7655cc694dec -r 5488b9864182 www/ChangeLog.html
--- a/www/ChangeLog.html	Sun May 12 16:04:34 2024 -0500
+++ b/www/ChangeLog.html	Wed May 15 16:09:31 2024 -0500
@@ -38,6 +38,15 @@
 
 <div class="document" id="graphicsmagick-changelog">
 <h1 class="title">GraphicsMagick ChangeLog</h1>
+<p>2024-05-15  Fojtik Jaroslav  &lt;<a class="reference external" href="mailto:JaFojtik&#37;&#52;&#48;yandex&#46;com">JaFojtik<span>&#64;</span>yandex<span>&#46;</span>com</a>&gt;</p>
+<blockquote>
+<ul class="simple">
+<li><p>coders/tiff.c: Fixed problem with overflowing IFD.
+<a class="reference external" href="https://sourceforge.net/p/graphicsmagick/bugs/738/">https://sourceforge.net/p/graphicsmagick/bugs/738/</a>
+Fixed another parameter need for TIFFSetField/TIFFTAG_INKNAMES.
+<a class="reference external" href="https://sourceforge.net/p/graphicsmagick/bugs/739/">https://sourceforge.net/p/graphicsmagick/bugs/739/</a></p></li>
+</ul>
+</blockquote>
 <p>2024-05-12  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">