]> granicus.if.org Git - imagemagick/commitdiff
Eliminate uninitialized value
authorCristy <urban-warrior@imagemagick.org>
Tue, 23 Jan 2018 00:21:39 +0000 (19:21 -0500)
committerCristy <urban-warrior@imagemagick.org>
Tue, 23 Jan 2018 00:21:39 +0000 (19:21 -0500)
Credit OSS Fuzz

MagickCore/xml-tree.c

index bab8f7c12d0ecac173f25bf2ac0bc070896427cb..93b22c5d3c5b983d51e4935fafa42a1232fd6dc1 100644 (file)
@@ -1484,23 +1484,26 @@ static char *ParseEntities(char *xml,char **entities,int state)
                     offset=(ssize_t) (xml-p);
                     extent=(size_t) (offset+length+strlen(entity));
                     if (p != q)
-                      p=(char *) ResizeQuantumMemory(p,extent+1,sizeof(*p));
+                      p=(char *) ResizeQuantumMemory(p,extent,sizeof(*p));
                     else
                       {
                         char
                           *extent_xml;
 
-                        extent_xml=(char *) AcquireQuantumMemory(extent+1,
+                        extent_xml=(char *) AcquireQuantumMemory(extent,
                           sizeof(*extent_xml));
                         if (extent_xml != (char *) NULL)
-                          (void) CopyMagickString(extent_xml,p,extent*
-                            sizeof(*extent_xml));
+                          {
+                            ResetMagickMemory(extent_xml,0,extent*
+                              sizeof(*extent_xml));
+                            (void) CopyMagickString(extent_xml,p,extent*
+                              sizeof(*extent_xml));
+                          }
                         p=extent_xml;
                       }
                     if (p == (char *) NULL)
                       ThrowFatalException(ResourceLimitFatalError,
                         "MemoryAllocationFailed");
-                    p[extent]='\0';
                     xml=p+offset;
                     entity=strchr(xml,';');
                   }