summaryrefslogtreecommitdiff
path: root/libtiff/tif_lzma.c
diff options
context:
space:
mode:
authorEven Rouault <even.rouault@spatialys.com>2018-10-18 11:10:31 +0200
committerEven Rouault <even.rouault@spatialys.com>2018-10-18 11:10:31 +0200
commit4429f75fab3185158237ba9a12b8250a83517710 (patch)
tree6d79947ad407e6ae82a7eb7ab752092b5fddc521 /libtiff/tif_lzma.c
parentd780c9db3fb365065ee920eef2db74d9ac115838 (diff)
downloadlibtiff-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.c9
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;
}
/*