From f39d291cb0a0b5f25605519f6065b10d4e8af2e8 Mon Sep 17 00:00:00 2001 From: Lutz Mueller Date: Wed, 27 Apr 2005 23:11:51 +0200 Subject: [PATCH] 2005-04-27 Lutz Mueller * libexif/exif-data.c (exif_data_load_data_content): Add a special case. --- ChangeLog | 4 ++++ libexif/exif-data.c | 11 +++++++++++ 2 files changed, 15 insertions(+) diff --git a/ChangeLog b/ChangeLog index 9dc3be2..e7ae188 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,9 @@ 2005-04-27 Lutz Mueller + * libexif/exif-data.c (exif_data_load_data_content): Add a special case. + +2005-04-27 Lutz Mueller + * libexif/exif-data.c (exif_data_load_data_content): Better check for validity of tags. diff --git a/libexif/exif-data.c b/libexif/exif-data.c index b4c2d68..cb0f88d 100644 --- a/libexif/exif-data.c +++ b/libexif/exif-data.c @@ -370,6 +370,17 @@ exif_data_load_data_content (ExifData *data, ExifIfd ifd, * 0 is a valid tag in the GPS IFD. */ if (!exif_tag_get_name_in_ifd (tag, ifd)) { + + /* + * Special case: Tag and format 0. That's against specification. + * At least up to 2.2. But Photoshop writes it anyways. + */ + if (!memcmp (d + offset + 12 * i, "\0\0\0\0", 4)) { + exif_log (data->priv->log, EXIF_LOG_CODE_DEBUG, "ExifData", + "Skipping empty entry at position %i in '%s'.", i, + exif_ifd_get_name (ifd)); + break; + } exif_log (data->priv->log, EXIF_LOG_CODE_DEBUG, "ExifData", "Unknown tag 0x%04x (entry %i in '%s'). Please report this tag " "to .", tag, i, -- 2.7.4