Reduce memory used by StringInfo.
diff --git a/MagickCore/string.c b/MagickCore/string.c
index 112018e..31efea8 100644
--- a/MagickCore/string.c
+++ b/MagickCore/string.c
@@ -646,7 +646,7 @@
   string[length]='\0';
   file=close(file)-1;
   string_info=AcquireStringInfo(0);
-  (void) CopyMagickString(string_info->path,filename,MaxTextExtent);
+  string_info->path=ConstantString(filename);
   string_info->length=length;
   if (string_info->datum != (unsigned char *) NULL)
     string_info->datum=(unsigned char *) RelinquishMagickMemory(
@@ -840,6 +840,8 @@
   if (string_info->datum != (unsigned char *) NULL)
     string_info->datum=(unsigned char *) RelinquishMagickMemory(
       string_info->datum);
+  if (string_info->path != (char *) NULL)
+    string_info->path=(char *) RelinquishMagickMemory(string_info->path);
   string_info->signature=(~MagickSignature);
   string_info=(StringInfo *) RelinquishMagickMemory(string_info);
   return(string_info);
@@ -1025,11 +1027,12 @@
   (void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",filename);
   assert(exception != (ExceptionInfo *) NULL);
   string_info=AcquireStringInfo(0);
-  (void) CopyMagickString(string_info->path,filename,MaxTextExtent);
+  string_info->path=ConstantString(filename);
   if (string_info->datum != (unsigned char *) NULL)
     string_info->datum=(unsigned char *) RelinquishMagickMemory(
       string_info->datum);
-  string_info->datum=FileToBlob(filename,extent,&string_info->length,exception);
+  string_info->datum=(unsigned char *) FileToBlob(filename,extent,
+    &string_info->length,exception);
   if (string_info->datum == (unsigned char *) NULL)
     {
       string_info=DestroyStringInfo(string_info);
@@ -1959,7 +1962,7 @@
   assert(string_info != (StringInfo *) NULL);
   assert(string_info->signature == MagickSignature);
   assert(path != (const char *) NULL);
-  (void) CopyMagickString(string_info->path,path,MaxTextExtent);
+  string_info->path=ConstantString(path);
 }
 
 /*