Mercurial > hg > forks > libbpg
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