]> granicus.if.org Git - imagemagick/commitdiff
Fixed memory leaks.
authordirk <dirk@git.imagemagick.org>
Sat, 26 Dec 2015 19:17:12 +0000 (20:17 +0100)
committerdirk <dirk@git.imagemagick.org>
Sat, 26 Dec 2015 19:17:29 +0000 (20:17 +0100)
MagickCore/nt-base.c
MagickCore/utility.c

index cc2889b8e10b25f8248c4e1f1e23108993813b1a..9827edacca26ffa454645e2b24b7ba79828df606 100644 (file)
@@ -1164,6 +1164,7 @@ static int NTGhostscriptGetString(const char *name,BOOL *is_64_bit,
             directory,DirectorySeparator);
           if (IsPathAccessible(buffer) != MagickFalse)
             {
+              directory=DestroyString(directory);
               (void) CopyMagickString(value,buffer,length);
               if (is_64_bit != NULL)
                 *is_64_bit=FALSE;
@@ -1173,6 +1174,7 @@ static int NTGhostscriptGetString(const char *name,BOOL *is_64_bit,
             directory,DirectorySeparator);
           if (IsPathAccessible(buffer) != MagickFalse)
             {
+              directory=DestroyString(directory);
               (void) CopyMagickString(value,buffer,length);
               if (is_64_bit != NULL)
                 *is_64_bit=TRUE;
index 1ac03ed52fcd60e96db7799341c3c2bb55a9b6a5..a03449044693e4fcbe421c52543695f1d0d3f4ed 100644 (file)
@@ -1834,6 +1834,7 @@ MagickPrivate MagickBooleanType ShredFile(const char *path)
       /*
         Don't shred the file, just remove it.
       */
+      passes=DestroyString(passes);
       status=remove_utf8(path);
       if (status == -1)
         {
@@ -1849,6 +1850,7 @@ MagickPrivate MagickBooleanType ShredFile(const char *path)
       /*
         Don't shred the file, just remove it.
       */
+      passes=DestroyString(passes);
       status=remove_utf8(path);
       if (status == -1)
         (void) LogMagickEvent(ExceptionEvent,GetMagickModule(),
@@ -1900,7 +1902,8 @@ MagickPrivate MagickBooleanType ShredFile(const char *path)
   }
   status=close(file);
   status=remove_utf8(path);
-  if (status == -1)
-    return(MagickFalse);
-  return(i < (ssize_t) StringToInteger(passes) ? MagickFalse : MagickTrue);
+  if (status != -1)
+    status=StringToInteger(passes);
+  passes=DestroyString(passes);
+  return((status == -1 || i < (ssize_t) status) ? MagickFalse : MagickTrue);
 }