From 89256a02f51edc44b556f759998eadfd8cf01b17 Mon Sep 17 00:00:00 2001 From: Daniel Friesel Date: Fri, 5 Dec 2014 18:48:36 +0100 Subject: exif.c: do sort-of-bounds-check before accessing the exif array (closes #179) --- src/exif.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/exif.c b/src/exif.c index a30b2ef..9ad9dae 100644 --- a/src/exif.c +++ b/src/exif.c @@ -259,7 +259,7 @@ void exif_get_info(ExifData * ed, char *buffer, unsigned int maxsize) else { /* show normal exif tags. list must be defined in exif_cfg.h */ - while ( (Exif_tag_list[i].ifd != EXIF_IFD_COUNT) && (i < USHRT_MAX) ) + while ( (i < USHRT_MAX) && (Exif_tag_list[i].ifd != EXIF_IFD_COUNT) ) { exif_get_tag(ed, Exif_tag_list[i].ifd, Exif_tag_list[i].tag, buffer + strlen(buffer), maxsize - strlen(buffer)); i++; @@ -281,7 +281,7 @@ void exif_get_info(ExifData * ed, char *buffer, unsigned int maxsize) { /* show nikon makernote exif tags. list must be defined in exif_cfg.h */ i=0; - while ( (Exif_makernote_nikon_tag_list[i] != EXIF_NIKON_MAKERNOTE_END) && (i < USHRT_MAX) ) + while ( (i < USHRT_MAX) && (Exif_makernote_nikon_tag_list[i] != EXIF_NIKON_MAKERNOTE_END) ) { exn_get_mnote_nikon_tags(ed, Exif_makernote_nikon_tag_list[i], buffer + strlen(buffer), maxsize - strlen(buffer)); @@ -293,7 +293,7 @@ void exif_get_info(ExifData * ed, char *buffer, unsigned int maxsize) { /* show canon makernote exif tags. list must be defined in exif_cfg.h */ i=0; - while ( (Exif_makernote_canon_tag_list[i] != EXIF_CANON_MAKERNOTE_END) && (i < USHRT_MAX) ) + while ( (i < USHRT_MAX) && (Exif_makernote_canon_tag_list[i] != EXIF_CANON_MAKERNOTE_END) ) { exc_get_mnote_canon_tags(ed, Exif_makernote_canon_tag_list[i], buffer + strlen(buffer), maxsize - strlen(buffer)); -- cgit v1.2.3