From 76cdacdd92bc616fad099bbd5482abcd5c74b1b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?T=C3=B6r=C3=B6k=20Edvin?= Date: Thu, 5 Aug 2010 21:25:05 +0300 Subject: [PATCH] pdf: flush on stream end too. --- libclamav/pdf.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libclamav/pdf.c b/libclamav/pdf.c index 4a3bb10f8..e9257c45d 100644 --- a/libclamav/pdf.c +++ b/libclamav/pdf.c @@ -323,7 +323,6 @@ static int filter_flatedecode(struct pdf_struct *pdf, struct pdf_obj *obj, } continue; case Z_STREAM_END: - break; default: written = sizeof(output) - stream.avail_out; if (filter_writen(pdf, obj, fout, output, written, sum)!=written) { @@ -334,6 +333,8 @@ static int filter_flatedecode(struct pdf_struct *pdf, struct pdf_obj *obj, nbytes += written; stream.next_out = (Bytef *)output; stream.avail_out = sizeof(output); + if (zstat == Z_STREAM_END) + break; if(stream.msg) cli_dbgmsg("cli_pdf: after writing %lu bytes, got error \"%s\" inflating PDF stream in %u %u obj\n",