# HG changeset patch # User Matti Hamalainen # Date 1481106460 -7200 # Node ID 6dc09314d44bd3aa3f4cd867e1af23114095678c # Parent 690bf78c1ce93c94fb623820b495038bd526ddd4 Improve error handling. diff -r 690bf78c1ce9 -r 6dc09314d44b bpgenc.c --- 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