summaryrefslogtreecommitdiff
path: root/fitz
diff options
context:
space:
mode:
authorTor Andersson <tor@ghostscript.com>2010-11-12 12:58:22 +0000
committerTor Andersson <tor@ghostscript.com>2010-11-12 12:58:22 +0000
commit3a5813b32f917c7668d663fd5cb7538251a23301 (patch)
tree1892f1ed94e2b9bae930a1e9b39b71b8e8439317 /fitz
parent638f0fcd7638abfdd9275b3eccf84ededb971ce5 (diff)
downloadmupdf-3a5813b32f917c7668d663fd5cb7538251a23301.tar.xz
Detect flate/runlength decompression bombs.
Diffstat (limited to 'fitz')
-rw-r--r--fitz/stm_read.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/fitz/stm_read.c b/fitz/stm_read.c
index 28a92f22..94b6d709 100644
--- a/fitz/stm_read.c
+++ b/fitz/stm_read.c
@@ -70,6 +70,9 @@ fz_readall(fz_buffer **bufp, fz_stream *stm, int initial)
if (buf->len == buf->cap)
fz_growbuffer(buf);
+ if (buf->len > initial * 100)
+ return fz_throw("compression bomb detected");
+
n = fz_read(stm, buf->data + buf->len, buf->cap - buf->len);
if (n < 0)
{