From c56b56a57ca7159568e8d60b987dee51f5b6f438 Mon Sep 17 00:00:00 2001 From: dirk Date: Sat, 26 Dec 2015 20:17:12 +0100 Subject: [PATCH] Fixed memory leaks. --- MagickCore/nt-base.c | 2 ++ MagickCore/utility.c | 9 ++++++--- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/MagickCore/nt-base.c b/MagickCore/nt-base.c index cc2889b8e..9827edacc 100644 --- a/MagickCore/nt-base.c +++ b/MagickCore/nt-base.c @@ -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; diff --git a/MagickCore/utility.c b/MagickCore/utility.c index 1ac03ed52..a03449044 100644 --- a/MagickCore/utility.c +++ b/MagickCore/utility.c @@ -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); } -- 2.40.0