Update of /cvsroot/libexif/libexif/libexif
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv6308
Modified Files:
exif-data.c
Log Message:
added a safety net in content_remove, so we do not loop
endless. Fixes a problem caused by EOG on certain JPEG files.
Index: exif-data.c
===================================================================
RCS file: /cvsroot/libexif/libexif/libexif/exif-data.c,v
retrieving revision 1.111
retrieving revision 1.112
diff -u -p -d -r1.111 -r1.112
--- exif-data.c 20 Feb 2008 19:02:26 -0000 1.111
+++ exif-data.c 6 May 2008 07:58:13 -0000 1.112
@@ -1219,8 +1219,16 @@ fix_func (ExifContent *c, void *UNUSED(d
exif_log (c->parent->priv->log, EXIF_LOG_CODE_DEBUG, "exif-data",
"No thumbnail but entries on thumbnail. These entries have been "
"removed.");
- while (c->count)
+ while (c->count) {
+ int cnt = c->count;
exif_content_remove_entry (c, c->entries[c->count - 1]);
+ if (cnt == c->count) {
+ /* safety net */
+ exif_log (c->parent->priv->log, EXIF_LOG_CODE_DEBUG, "exif-data",
+ "failed to remove last entry from entries.");
+ c->count--;
+ }
+ }
}
break;
default:
|