GraphicsMagick: TranslateTextEx() should not produce NULL string...

GraphicsMagick Commits <[email protected]>
Newsgroups gmane.comp.video.graphicsmagick.cvs
Message-ID <mailman.1770.1678549472.1748.graphicsmagick-commit@lists.sourceforge.net>
changeset 6d44f7379961 in /hg/GraphicsMagick
details: http://hg.GraphicsMagick.org/hg/GraphicsMagick?cmd=changeset;node=6d44f7379961
summary: TranslateTextEx() should not produce NULL string. MogrifyImage() report error for NULL primitive.

diffstat:

 ChangeLog                              |   9 +++++++++
 VisualMagick/installer/inc/version.isx |   4 ++--
 magick/command.c                       |   5 ++++-
 magick/utility.c                       |   4 +++-
 magick/version.h                       |   4 ++--
 www/Changelog.html                     |  10 ++++++++++
 6 files changed, 30 insertions(+), 6 deletions(-)

diffs (91 lines):

diff -r 00fdd9d162ec -r 6d44f7379961 ChangeLog
--- a/ChangeLog	Sun Feb 26 15:32:34 2023 -0600
+++ b/ChangeLog	Sat Mar 11 09:44:21 2023 -0600
@@ -1,3 +1,12 @@
+2023-03-11  Bob Friesenhahn  <[email protected]>
+
+	* magick/command.c (MogrifyImage): Report a draw argument error if
+	drawing primitive is NULL.  Addresses SourceForge issue #684
+	"Assertion bug in gm (magick/render.c:2715)"
+
+	* magick/utility.c (TranslateTextEx): An empty string argument
+	should return an empty string rather than a NULL string.
+
 2023-02-26  Bob Friesenhahn  <[email protected]>
 
 	* Makefile.am: Stop producing BZip, Gzip, Lzip, and Zstandard
diff -r 00fdd9d162ec -r 6d44f7379961 VisualMagick/installer/inc/version.isx
--- a/VisualMagick/installer/inc/version.isx	Sun Feb 26 15:32:34 2023 -0600
+++ b/VisualMagick/installer/inc/version.isx	Sat Mar 11 09:44:21 2023 -0600
@@ -10,5 +10,5 @@
 
 #define public MagickPackageName "GraphicsMagick"
 #define public MagickPackageVersion "1.4"
-#define public MagickPackageVersionAddendum ".020230226"
-#define public MagickPackageReleaseDate "snapshot-20230226"
+#define public MagickPackageVersionAddendum ".020230311"
+#define public MagickPackageReleaseDate "snapshot-20230311"
diff -r 00fdd9d162ec -r 6d44f7379961 magick/command.c
--- a/magick/command.c	Sun Feb 26 15:32:34 2023 -0600
+++ b/magick/command.c	Sat Mar 11 09:44:21 2023 -0600
@@ -9691,7 +9691,10 @@
             */
             MagickFreeMemory(draw_info->primitive);
             draw_info->primitive=AmpersandTranslateText(clone_info,*image,argv[++i]);
-            (void) DrawImage(*image,draw_info);
+            if (draw_info->primitive != (char *) NULL)
+              (void) DrawImage(*image,draw_info);
+            else
+              ThrowException(&(*image)->exception,OptionError,MissingArgument,option);
             continue;
           }
         break;
diff -r 00fdd9d162ec -r 6d44f7379961 magick/utility.c
--- a/magick/utility.c	Sun Feb 26 15:32:34 2023 -0600
+++ b/magick/utility.c	Sat Mar 11 09:44:21 2023 -0600
@@ -6062,8 +6062,10 @@
     offset;
 
   assert(image != (Image *) NULL);
-  if ((formatted_text == (const char *) NULL) || (*formatted_text == '\0'))
+  if (formatted_text == (const char *) NULL)
     return((char *) NULL);
+  if (*formatted_text == '\0')
+    return AcquireString(formatted_text);
   text=(char *) formatted_text;
   /*
     Translate any embedded format characters.
diff -r 00fdd9d162ec -r 6d44f7379961 magick/version.h
--- a/magick/version.h	Sun Feb 26 15:32:34 2023 -0600
+++ b/magick/version.h	Sat Mar 11 09:44:21 2023 -0600
@@ -38,8 +38,8 @@
 #define MagickLibVersion  0x272402
 #define MagickLibVersionText  "1.4"
 #define MagickLibVersionNumber 27,24,2
-#define MagickChangeDate   "20230226"
-#define MagickReleaseDate  "snapshot-20230226"
+#define MagickChangeDate   "20230311"
+#define MagickReleaseDate  "snapshot-20230311"
 
 /*
   The MagickLibInterfaceNewest and MagickLibInterfaceOldest defines
diff -r 00fdd9d162ec -r 6d44f7379961 www/Changelog.html
--- a/www/Changelog.html	Sun Feb 26 15:32:34 2023 -0600
+++ b/www/Changelog.html	Sat Mar 11 09:44:21 2023 -0600
@@ -37,6 +37,16 @@
 </div>
 
 <div class="document">
+<p>2023-03-11  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>magick/command.c (MogrifyImage): Report a draw argument error if
+drawing primitive is NULL.  Addresses SourceForge issue #684
+&quot;Assertion bug in gm (magick/render.c:2715)&quot;</p></li>
+<li><p>magick/utility.c (TranslateTextEx): An empty string argument
+should return an empty string rather than a NULL string.</p></li>
+</ul>
+</blockquote>
 <p>2023-02-26  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">
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.