diff options
author | Even Rouault <even.rouault@spatialys.com> | 2018-10-18 11:10:31 +0200 |
---|---|---|
committer | Even Rouault <even.rouault@spatialys.com> | 2018-10-18 11:10:31 +0200 |
commit | 4429f75fab3185158237ba9a12b8250a83517710 (patch) | |
tree | 6d79947ad407e6ae82a7eb7ab752092b5fddc521 /libtiff/tif_lzma.c | |
parent | d780c9db3fb365065ee920eef2db74d9ac115838 (diff) | |
download | libtiff-git-4429f75fab3185158237ba9a12b8250a83517710.tar.gz |
LZMAPreEncode: emit verbose error if lzma_stream_encoder() fails (typically because not enough memory available)
Diffstat (limited to 'libtiff/tif_lzma.c')
-rw-r--r-- | libtiff/tif_lzma.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/libtiff/tif_lzma.c b/libtiff/tif_lzma.c index b395de07..3f6096b6 100644 --- a/libtiff/tif_lzma.c +++ b/libtiff/tif_lzma.c @@ -247,6 +247,7 @@ LZMAPreEncode(TIFF* tif, uint16 s) { static const char module[] = "LZMAPreEncode"; LZMAState *sp = EncoderState(tif); + lzma_ret ret; (void) s; assert(sp != NULL); @@ -260,7 +261,13 @@ LZMAPreEncode(TIFF* tif, uint16 s) "Liblzma cannot deal with buffers this size"); return 0; } - return (lzma_stream_encoder(&sp->stream, sp->filters, sp->check) == LZMA_OK); + ret = lzma_stream_encoder(&sp->stream, sp->filters, sp->check); + if (ret != LZMA_OK) { + TIFFErrorExt(tif->tif_clientdata, module, + "Error in lzma_stream_encoder(): %s", LZMAStrerror(ret)); + return 0; + } + return 1; } /* |