From 2707fa9e8e6d17d794330e719dec1b08161fb045 Mon Sep 17 00:00:00 2001 From: Sebastian Rasmussen Date: Tue, 12 Sep 2017 22:26:00 +0800 Subject: Consistently drop filter chain upon error. --- source/fitz/filter-basic.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'source/fitz/filter-basic.c') 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; } -- cgit v1.2.3