From ef3cfb2a49b5be82d56d783f505319754dc65cb8 Mon Sep 17 00:00:00 2001 From: Tor Andersson Date: Wed, 28 Mar 2018 15:17:27 +0200 Subject: Don't implicitly drop in fz_open_* chained filters. --- source/fitz/load-tiff.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'source/fitz/load-tiff.c') diff --git a/source/fitz/load-tiff.c b/source/fitz/load-tiff.c index 2da9e635..3dad8a82 100644 --- a/source/fitz/load-tiff.c +++ b/source/fitz/load-tiff.c @@ -309,12 +309,12 @@ tiff_decode_data(fz_context *ctx, struct tiff *tiff, const unsigned char *rp, un rp = reversed; } + fz_var(jpegtables); fz_var(encstm); fz_var(stm); fz_try(ctx) { - /* each decoder will close this */ encstm = fz_open_memory(ctx, rp, rlen); /* switch on compression to create a filter */ @@ -331,7 +331,7 @@ tiff_decode_data(fz_context *ctx, struct tiff *tiff, const unsigned char *rp, un { case 1: /* stm already open and reading uncompressed data */ - stm = encstm; + stm = fz_keep_stream(ctx, encstm); break; case 2: case 3: @@ -385,7 +385,6 @@ tiff_decode_data(fz_context *ctx, struct tiff *tiff, const unsigned char *rp, un stm = fz_open_thunder(ctx, encstm, tiff->imagewidth); break; default: - stm = encstm; fz_throw(ctx, FZ_ERROR_GENERIC, "unknown TIFF compression: %d", tiff->compression); } @@ -393,6 +392,8 @@ tiff_decode_data(fz_context *ctx, struct tiff *tiff, const unsigned char *rp, un } fz_always(ctx) { + fz_drop_stream(ctx, jpegtables); + fz_drop_stream(ctx, encstm); fz_drop_stream(ctx, stm); fz_free(ctx, reversed); } -- cgit v1.2.3