Set the buffer size to 0 to indicate an error in exif_loader_get_buf.
authorDan Fandrich <dan@coneharvesters.com>
Tue, 5 Feb 2019 10:09:58 +0000 (11:09 +0100)
committerDan Fandrich <dan@coneharvesters.com>
Tue, 5 Feb 2019 10:09:58 +0000 (11:09 +0100)
Otherwise, the caller has no way of knowing an error occurred, such as the NULL
check done in the previous commit.

libexif/exif-loader.c

index e2208b4..fc61b5d 100644 (file)
@@ -410,16 +410,16 @@ exif_loader_get_buf (ExifLoader *loader, const unsigned char **buf,
        const unsigned char* b = NULL;
        unsigned int s = 0;
 
-       if (!loader)
-               return;
-       if (loader->data_format == EL_DATA_FORMAT_UNKNOWN) {
-               exif_log (loader->log, EXIF_LOG_CODE_DEBUG, "ExifLoader",
-                         "Loader format unknown");
-               return;
-       } else {
-               b = loader->buf;
-               s = loader->bytes_read;
+       if (loader) {
+               if (loader->data_format == EL_DATA_FORMAT_UNKNOWN) {
+                       exif_log (loader->log, EXIF_LOG_CODE_DEBUG, "ExifLoader",
+                                         "Loader format unknown");
+               } else {
+                       b = loader->buf;
+                       s = loader->bytes_read;
+               }
        }
+
        if (buf)
                *buf = b;
        if (buf_size)