Index: ImageMagick-6.9.10-23/magick/property.c =================================================================== --- ImageMagick-6.9.10-23.orig/magick/property.c +++ ImageMagick-6.9.10-23/magick/property.c @@ -4358,24 +4358,6 @@ MagickExport MagickBooleanType SetImageP geometry=DestroyString(geometry); break; } - if (LocaleCompare("profile",property) == 0) - { - ImageInfo - *image_info; - - StringInfo - *profile = (StringInfo *) NULL; - - image_info=AcquireImageInfo(); - (void) CopyMagickString(image_info->filename,value,MaxTextExtent); - (void) SetImageInfo(image_info,1,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); - image_info=DestroyImageInfo(image_info); - break; - } status=AddValueToSplayTree((SplayTreeInfo *) image->properties, ConstantString(property),ConstantString(value)); break; Index: ImageMagick-6.9.10-23/wand/mogrify.c =================================================================== --- ImageMagick-6.9.10-23.orig/wand/mogrify.c +++ ImageMagick-6.9.10-23/wand/mogrify.c @@ -2835,7 +2835,23 @@ WandExport MagickBooleanType MogrifyImag (void) SetImageArtifact(*image,argv[i+1]+7,value); } else - (void) SetImageProperty(*image,argv[i+1],value); + if (LocaleCompare(argv[i+1],"profile") == 0) + { + StringInfo + *profile = (StringInfo *) NULL; + + (void) CopyMagickString(image_info->filename,value, + MaxTextExtent); + (void) SetImageInfo(image_info,1,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); + } + else + (void) SetImageProperty(*image,argv[i+1],value); value=DestroyString(value); break; }