summaryrefslogtreecommitdiff
path: root/fitz/filt_dctd.c
diff options
context:
space:
mode:
Diffstat (limited to 'fitz/filt_dctd.c')
-rw-r--r--fitz/filt_dctd.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/fitz/filt_dctd.c b/fitz/filt_dctd.c
index 3209d2ce..83366338 100644
--- a/fitz/filt_dctd.c
+++ b/fitz/filt_dctd.c
@@ -186,8 +186,6 @@ close_dctd(fz_context *ctx, void *state_)
if (setjmp(state->jb))
{
- if (state->cinfo.src)
- state->chain->rp = state->chain->wp - state->cinfo.src->bytes_in_buffer;
fz_warn(ctx, "jpeg error: %s", state->msg);
goto skip;
}
@@ -198,7 +196,9 @@ close_dctd(fz_context *ctx, void *state_)
skip:
if (state->cinfo.src)
state->chain->rp = state->chain->wp - state->cinfo.src->bytes_in_buffer;
- jpeg_destroy_decompress(&state->cinfo);
+ if (state->init)
+ jpeg_destroy_decompress(&state->cinfo);
+
fz_free(ctx, state->scanline);
fz_close(state->chain);
fz_free(ctx, state);