summaryrefslogtreecommitdiff
path: root/source/fitz/filter-basic.c
diff options
context:
space:
mode:
Diffstat (limited to 'source/fitz/filter-basic.c')
-rw-r--r--source/fitz/filter-basic.c5
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;
}