Update of /cvsroot/libexif/libexif/libexif
In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv14260/libexif
Modified Files:
exif-data.c exif-ifd.h
Log Message:
Fix ifd validity check, comment on purpose of EXIF_IFD_COUNT
Index: exif-data.c
===================================================================
RCS file: /cvsroot/libexif/libexif/libexif/exif-data.c,v
retrieving revision 1.97
retrieving revision 1.98
diff -u -p -d -r1.97 -r1.98
--- exif-data.c 26 Jun 2007 02:19:13 -0000 1.97
+++ exif-data.c 27 Jun 2007 11:14:35 -0000 1.98
@@ -338,21 +338,10 @@ exif_data_load_data_content (ExifData *d
if (!data || !data->priv)
return;
- /* check for valid ExifIfd enum range
- * if ((((int)ifd) < 0) || (ifd >= EXIF_IFD_COUNT))
- * return;
- */
- switch (ifd) {
- case EXIF_IFD_0:
- case EXIF_IFD_1:
- case EXIF_IFD_EXIF:
- case EXIF_IFD_GPS:
- case EXIF_IFD_INTEROPERABILITY:
- case EXIF_IFD_COUNT:
- break;
- default:
+
+ /* check for valid ExifIfd enum range */
+ if (( ((int)ifd) < 0) || ( ((int)ifd) >= EXIF_IFD_COUNT))
return;
- }
if (recursion_depth > 150) {
exif_log (data->priv->log, EXIF_LOG_CODE_CORRUPT_DATA, "ExifData",
Index: exif-ifd.h
===================================================================
RCS file: /cvsroot/libexif/libexif/libexif/exif-ifd.h,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -p -d -r1.2 -r1.3
--- exif-ifd.h 15 Dec 2002 11:41:11 -0000 1.2
+++ exif-ifd.h 27 Jun 2007 11:14:35 -0000 1.3
@@ -22,12 +22,12 @@
#define __EXIF_IFD_H__
typedef enum {
- EXIF_IFD_0 = 0,
- EXIF_IFD_1,
- EXIF_IFD_EXIF,
- EXIF_IFD_GPS,
- EXIF_IFD_INTEROPERABILITY,
- EXIF_IFD_COUNT
+ EXIF_IFD_0 = 0, /*!< */
+ EXIF_IFD_1, /*!< */
+ EXIF_IFD_EXIF, /*!< */
+ EXIF_IFD_GPS, /*!< */
+ EXIF_IFD_INTEROPERABILITY, /*!< */
+ EXIF_IFD_COUNT /*!< Not a real value, just (max_value + 1). */
} ExifIfd;
const char *exif_ifd_get_name (ExifIfd ifd);
|