GraphicsMagick: ReadGIFImage(): Allocate cleared memory. Remove...

GraphicsMagick Commits <[email protected]>
Newsgroups gmane.comp.video.graphicsmagick.cvs
Message-ID <mailman.31639.1670962333.1567.graphicsmagick-commit@lists.sourceforge.net>
changeset 705edb404b5a in /hg/GraphicsMagick
details: http://hg.GraphicsMagick.org/hg/GraphicsMagick?cmd=changeset;node=705edb404b5a
summary: ReadGIFImage(): Allocate cleared memory.  Remove two redundant memsets.

diffstat:

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

diffs (103 lines):

diff -r cc03cdbaaa45 -r 705edb404b5a ChangeLog
--- a/ChangeLog	Sun Dec 11 13:43:32 2022 -0600
+++ b/ChangeLog	Tue Dec 13 14:12:01 2022 -0600
@@ -1,3 +1,8 @@
+2022-12-13  Bob Friesenhahn  <[email protected]>
+
+	* coders/gif.c (ReadGIFImage): Allocate cleared memory.  Remove
+	two redundant memsets.
+
 2022-12-11  Bob Friesenhahn  <[email protected]>
 
 	* magick/command.c (MogrifyImages): Fix performance anomaly
diff -r cc03cdbaaa45 -r 705edb404b5a VisualMagick/installer/inc/version.isx
--- a/VisualMagick/installer/inc/version.isx	Sun Dec 11 13:43:32 2022 -0600
+++ b/VisualMagick/installer/inc/version.isx	Tue Dec 13 14:12:01 2022 -0600
@@ -10,5 +10,5 @@
 
 #define public MagickPackageName "GraphicsMagick"
 #define public MagickPackageVersion "1.4"
-#define public MagickPackageVersionAddendum ".020221211"
-#define public MagickPackageReleaseDate "snapshot-20221211"
+#define public MagickPackageVersionAddendum ".020221213"
+#define public MagickPackageReleaseDate "snapshot-20221213"
diff -r cc03cdbaaa45 -r 705edb404b5a coders/gif.c
--- a/coders/gif.c	Sun Dec 11 13:43:32 2022 -0600
+++ b/coders/gif.c	Tue Dec 13 14:12:01 2022 -0600
@@ -149,10 +149,10 @@
   /*
     Allocate decoder tables.
   */
-  packet=MagickAllocateMemory(unsigned char *,256);
-  prefix=MagickAllocateArray(unsigned short *,MaxStackSize,sizeof(short));
-  suffix=MagickAllocateMemory(unsigned char *,MaxStackSize);
-  pixel_stack=MagickAllocateMemory(unsigned char *,MaxStackSize+1);
+  packet=MagickAllocateClearedMemory(unsigned char *,256);
+  prefix=MagickAllocateClearedArray(unsigned short *,MaxStackSize,sizeof(short));
+  suffix=MagickAllocateClearedMemory(unsigned char *,MaxStackSize);
+  pixel_stack=MagickAllocateClearedMemory(unsigned char *,MaxStackSize+1);
   if ((packet == (unsigned char *) NULL) ||
       (prefix == (unsigned short *) NULL) ||
       (suffix == (unsigned char *) NULL) ||
@@ -168,18 +168,12 @@
   /*
     Initialize GIF data stream decoder.
   */
-  (void) memset(packet,0,256);
-  (void) memset(prefix,0,MaxStackSize*sizeof(short));
-  (void) memset(suffix,0,MaxStackSize);
-  (void) memset(pixel_stack,0,MaxStackSize+1);
   clear=1U << data_size;
   end_of_information=clear+1;
   available=clear+2;
   old_code=NullCode;
   code_size=data_size+1;
   code_mask=(1U << code_size)-1;
-  (void) memset(prefix,0,MaxStackSize*sizeof(short));
-  (void) memset(suffix,0,MaxStackSize);
   for (code=0; code < clear; code++)
     {
       prefix[code]=0;
@@ -912,10 +906,9 @@
   background=ReadBlobByte(image);
   c=ReadBlobByte(image);  /* reserved */
   global_colors=1 << ((flag & 0x07)+1);
-  global_colormap=MagickAllocateArray(unsigned char *,3U,Max(global_colors,256U));
+  global_colormap=MagickAllocateClearedArray(unsigned char *,3U,Max(global_colors,256U));
   if (global_colormap == (unsigned char *) NULL)
     ThrowReaderException(ResourceLimitError,MemoryAllocationFailed,image);
-  (void) memset(global_colormap,0,(size_t) 3*Max(global_colors,256U));
   if (image->logging)
     (void) LogMagickEvent(CoderEvent,GetMagickModule(),
                           "Global Colors: %u", global_colors);
diff -r cc03cdbaaa45 -r 705edb404b5a magick/version.h
--- a/magick/version.h	Sun Dec 11 13:43:32 2022 -0600
+++ b/magick/version.h	Tue Dec 13 14:12:01 2022 -0600
@@ -38,8 +38,8 @@
 #define MagickLibVersion  0x272400
 #define MagickLibVersionText  "1.4"
 #define MagickLibVersionNumber 27,24,0
-#define MagickChangeDate   "20221211"
-#define MagickReleaseDate  "snapshot-20221211"
+#define MagickChangeDate   "20221213"
+#define MagickReleaseDate  "snapshot-20221213"
 
 /*
   The MagickLibInterfaceNewest and MagickLibInterfaceOldest defines
diff -r cc03cdbaaa45 -r 705edb404b5a www/Changelog.html
--- a/www/Changelog.html	Sun Dec 11 13:43:32 2022 -0600
+++ b/www/Changelog.html	Tue Dec 13 14:12:01 2022 -0600
@@ -37,6 +37,13 @@
 </div>
 
 <div class="document">
+<p>2022-12-13  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/gif.c (ReadGIFImage): Allocate cleared memory.  Remove
+two redundant memsets.</p></li>
+</ul>
+</blockquote>
 <p>2022-12-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">
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.