]> granicus.if.org Git - imagemagick/commitdiff
(no commit message)
authorcristy <urban-warrior@git.imagemagick.org>
Wed, 28 May 2014 01:18:24 +0000 (01:18 +0000)
committercristy <urban-warrior@git.imagemagick.org>
Wed, 28 May 2014 01:18:24 +0000 (01:18 +0000)
MagickCore/string.c

index 85d2f642c5a72aa85cc50fe70f296a238ad696f5..1c9eb8526780bb7e0d508fa6ac25b44ae1b15733 100644 (file)
@@ -213,6 +213,9 @@ MagickExport StringInfo *BlobToStringInfo(const void *blob,const size_t length)
     *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 @@ MagickExport StringInfo *ConfigureFileToStringInfo(const char *filename)
   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 @@ MagickExport StringInfo *FileToStringInfo(const char *filename,
   (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)