summaryrefslogtreecommitdiff
path: root/source/fitz/stream-read.c
diff options
context:
space:
mode:
Diffstat (limited to 'source/fitz/stream-read.c')
-rw-r--r--source/fitz/stream-read.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/source/fitz/stream-read.c b/source/fitz/stream-read.c
index 1a2bda01..9eff8722 100644
--- a/source/fitz/stream-read.c
+++ b/source/fitz/stream-read.c
@@ -59,6 +59,7 @@ fz_buffer *
fz_read_best(fz_context *ctx, fz_stream *stm, size_t initial, int *truncated)
{
fz_buffer *buf = NULL;
+ int check_bomb = (initial > 0);
size_t n;
fz_var(buf);
@@ -78,10 +79,8 @@ fz_read_best(fz_context *ctx, fz_stream *stm, size_t initial, int *truncated)
if (buf->len == buf->cap)
fz_grow_buffer(ctx, buf);
- if (buf->len >= MIN_BOMB && buf->len / 200 > initial)
- {
+ if (check_bomb && buf->len >= MIN_BOMB && buf->len / 200 > initial)
fz_throw(ctx, FZ_ERROR_GENERIC, "compression bomb detected");
- }
n = fz_read(ctx, stm, buf->data + buf->len, buf->cap - buf->len);
if (n == 0)