diff --git a/MagickCore/string.c b/MagickCore/string.c
index 85d2f64..1c9eb85 100644
--- a/MagickCore/string.c
+++ b/MagickCore/string.c
@@ -213,6 +213,9 @@
*string_info;
string_info=AcquireStringInfo(0);
+ if (string_info->datum != (unsigned char *) NULL)
+ string_info->datum=(unsigned char *) RelinquishMagickMemory(
+ string_info->datum);
string_info->length=length;
if (~string_info->length >= (MaxTextExtent-1))
string_info->datum=(unsigned char *) AcquireQuantumMemory(
@@ -647,6 +650,9 @@
string[length]='\0';
file=close(file)-1;
string_info=AcquireStringInfo(0);
+ if (string_info->datum != (unsigned char *) NULL)
+ string_info->datum=(unsigned char *) RelinquishMagickMemory(
+ string_info->datum);
(void) CopyMagickString(string_info->path,filename,MaxTextExtent);
string_info->length=length;
string_info->datum=(unsigned char *) string;
@@ -1026,6 +1032,9 @@
(void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",filename);
assert(exception != (ExceptionInfo *) NULL);
string_info=AcquireStringInfo(0);
+ if (string_info->datum != (unsigned char *) NULL)
+ string_info->datum=(unsigned char *) RelinquishMagickMemory(
+ string_info->datum);
(void) CopyMagickString(string_info->path,filename,MaxTextExtent);
string_info->datum=FileToBlob(filename,extent,&string_info->length,exception);
if (string_info->datum == (unsigned char *) NULL)