convert: magick/splay-tree.c:880: GetValueFromSplayTree: Assertion `splay_tree != (SplayTreeInfo *) ((void *)0)' failed.
gdb tells me, this happens while GetEXIFProperty() is looking for 'exif:Orientation', finds nothing, but still returns MagicTrue;
it was looking for exif:sans before, and MagicFalse was returned then.
exiftool reports neither exif:Orientation nor exif:sans for the same image.
I am patching the symptoms as follows
Code: Select all
--- ImageMagick-6.6.7-8/magick/property.c.orig 2010-12-24 14:44:32.000000000 +0100
+++ ImageMagick-6.6.7-8/magick/property.c 2011-02-21 15:09:40.008402000 +0100
@@ -2012,9 +2012,14 @@ MagickExport const char *GetImagePropert
{
if (GetEXIFProperty(image,property) != MagickFalse)
{
- p=(const char *) GetValueFromSplayTree((SplayTreeInfo *)
- image->properties,property);
- return(p);
+ // FIXME: GetEXIFProperty should have return MagickFalse, if it failed, no?
+ // I see here a false positive of exif:Orientation, which exiftool does not see.
+ if (image->properties)
+ {
+ p=(const char *) GetValueFromSplayTree((SplayTreeInfo *)
+ image->properties,property);
+ return(p);
+ }
}
}
break;