Canon EOS 5D Mark II writes Aperture values as invalid values 0x80000000/1
authorJan Patera <patera@pictview.com>
Fri, 23 Jul 2010 06:50:46 +0000 (08:50 +0200)
committerJan Patera <patera@pictview.com>
Fri, 23 Jul 2010 06:50:46 +0000 (08:50 +0200)
which makes pow() throw floating-point exceptions.

libexif/exif-entry.c

index 409df51..7d7e06c 100644 (file)
@@ -992,7 +992,7 @@ exif_entry_get_value (ExifEntry *e, char *val, unsigned int maxlen)
                CF (e, EXIF_FORMAT_RATIONAL, val, maxlen);
                CC (e, 1, val, maxlen);
                v_rat = exif_get_rational (e->data, o);
-               if (!v_rat.denominator) {
+               if (!v_rat.denominator || (0x80000000 == v_rat.numerator)) {
                        exif_entry_format_value(e, val, maxlen);
                        break;
                }