diff options
author | Sebastian Rasmussen <sebras@gmail.com> | 2017-09-12 22:26:00 +0800 |
---|---|---|
committer | Sebastian Rasmussen <sebras@gmail.com> | 2017-09-13 17:42:00 +0200 |
commit | 2707fa9e8e6d17d794330e719dec1b08161fb045 (patch) | |
tree | 63b1dfc46e596d0ee6e6f34dec971c62ecbe1f16 /source/fitz/filter-basic.c | |
parent | 7c8151b6d42f036644a49245ffd6abf02422ac64 (diff) | |
download | mupdf-2707fa9e8e6d17d794330e719dec1b08161fb045.tar.xz |
Consistently drop filter chain upon error.
Diffstat (limited to 'source/fitz/filter-basic.c')
-rw-r--r-- | source/fitz/filter-basic.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/source/fitz/filter-basic.c b/source/fitz/filter-basic.c index 5630c37b..959006f9 100644 --- a/source/fitz/filter-basic.c +++ b/source/fitz/filter-basic.c @@ -162,12 +162,15 @@ fz_open_concat(fz_context *ctx, int len, int pad) } void -fz_concat_push(fz_context *ctx, fz_stream *concat, fz_stream *chain) +fz_concat_push_drop(fz_context *ctx, fz_stream *concat, fz_stream *chain) { struct concat_filter *state = (struct concat_filter *)concat->state; if (state->count == state->max) + { + fz_drop_stream(ctx, chain); fz_throw(ctx, FZ_ERROR_GENERIC, "Concat filter size exceeded"); + } state->chain[state->count++] = chain; } |