changeset 7:6dc09314d44b

Improve error handling.
author Matti Hamalainen <ccr@tnsp.org>
date Wed, 07 Dec 2016 12:27:40 +0200
parents 690bf78c1ce9
children 5a1eec3c43cc
files bpgenc.c
diffstat 1 files changed, 12 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/bpgenc.c	Wed Dec 07 11:23:39 2016 +0200
+++ b/bpgenc.c	Wed Dec 07 12:27:40 2016 +0200
@@ -928,13 +928,20 @@
 
     // Open and read TIFF header etc.
     if ((tif = TIFFOpen(filename, "rb")) == NULL)
+    {
+        fprintf(stderr, "Could not open TIFF image '%s'\n", filename);
         return NULL;
+    }
 
-    TIFFGetField(tif, TIFFTAG_IMAGEWIDTH, &img_width);
-    TIFFGetField(tif, TIFFTAG_IMAGELENGTH, &img_height);
-    TIFFGetField(tif, TIFFTAG_SAMPLESPERPIXEL, &img_spp);
-    TIFFGetField(tif, TIFFTAG_BITSPERSAMPLE, &img_depth);
-    TIFFGetField(tif, TIFFTAG_SAMPLEFORMAT, &img_sfmt);
+    if (!TIFFGetField(tif, TIFFTAG_IMAGEWIDTH, &img_width) ||
+        !TIFFGetField(tif, TIFFTAG_IMAGELENGTH, &img_height) ||
+        !TIFFGetField(tif, TIFFTAG_SAMPLESPERPIXEL, &img_spp) ||
+        !TIFFGetField(tif, TIFFTAG_BITSPERSAMPLE, &img_depth))
+    {
+        fprintf(stderr, "TIFF file lacks basic fields!\n");
+        goto err;
+    }
+
     TIFFGetField(tif, TIFFTAG_PLANARCONFIG, &img_pconfig);
 
     // Check basics