From: Marcus M. <mar...@us...> - 2008-05-06 07:58:17
|
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: |