Index: ImageMagick-6.9.11-60/coders/png.c =================================================================== --- ImageMagick-6.9.11-60.orig/coders/png.c +++ ImageMagick-6.9.11-60/coders/png.c @@ -3785,13 +3785,14 @@ static Image *ReadOnePNGImage(MngInfo *m */ if (!png_get_valid(ping,ping_info,PNG_INFO_pHYs) || (LocaleCompare(text[i].key,"density") != 0 && - LocaleCompare(text[i].key,"units") != 0)) + LocaleCompare(text[i].key,"units") != 0)) { char key[MaxTextExtent]; (void) FormatLocaleString(key,MaxTextExtent,"%s",text[i].key); if ((LocaleCompare(key,"version") == 0) || + (LocaleCompare(key,"profile") == 0) || (LocaleCompare(key,"width") == 0)) (void) FormatLocaleString(key,MagickPathExtent,"png:%s", text[i].key); Index: ImageMagick-6.9.11-60/magick/property.c =================================================================== --- ImageMagick-6.9.11-60.orig/magick/property.c +++ ImageMagick-6.9.11-60/magick/property.c @@ -4405,12 +4405,13 @@ MagickExport MagickBooleanType SetImageP *image_info; StringInfo - *profile; + *profile = (StringInfo *) NULL; image_info=AcquireImageInfo(); (void) CopyMagickString(image_info->filename,value,MaxTextExtent); (void) SetImageInfo(image_info,1,exception); - profile=FileToStringInfo(image_info->filename,~0UL,exception); + if (LocaleCompare(image_info->filename,"-") != 0) + profile=FileToStringInfo(image_info->filename,~0UL,exception); if (profile != (StringInfo *) NULL) { status=SetImageProfile(image,image_info->magick,profile);