From 4619289aef5b75dc3a2fdcc9cbc45d7080e35f00 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?T=C3=B6r=C3=B6k=20Edvin?= Date: Thu, 20 Jan 2011 11:39:05 +0200 Subject: [PATCH] pdf: Fix missed detection (bb #2455). --- ChangeLog | 4 ++++ libclamav/pdf.c | 4 ++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 940f1a8e8..6f6ee2342 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +Thu Jan 20 11:38:33 EET 2011 (edwin) +------------------------------------ + * libclamav/pdf.c: fix missed detection (bb #2455). + Thu Jan 20 11:19:50 EET 2011 (edwin) ----------------------------------- * libclamav/pdf.c: fix another pdf uninit (bb #2404). diff --git a/libclamav/pdf.c b/libclamav/pdf.c index d0c2858b1..0b5e15670 100644 --- a/libclamav/pdf.c +++ b/libclamav/pdf.c @@ -114,7 +114,7 @@ static int find_stream_bounds(const char *start, off_t bytesleft, off_t byteslef if ((q2 = cli_memstr(start, bytesleft, "stream", 6))) { q2 += 6; bytesleft -= q2 - start; - if (bytesleft < 1) + if (bytesleft < 0) return 0; if (bytesleft >= 2 && q2[0] == '\xd' && q2[1] == '\xa') q2 += 2; @@ -122,7 +122,7 @@ static int find_stream_bounds(const char *start, off_t bytesleft, off_t byteslef q2++; *stream = q2 - start; bytesleft2 -= q2 - start; - if (bytesleft2 < 0) + if (bytesleft2 <= 0) return 0; q = q2; q2 = cli_memstr(q, bytesleft2, "endstream", 9);