diff options
author | Tor Andersson <tor.andersson@artifex.com> | 2011-04-09 23:15:17 +0200 |
---|---|---|
committer | Tor Andersson <tor.andersson@artifex.com> | 2011-04-09 23:15:17 +0200 |
commit | 4a05689ac239535c3441f8d43d21c1373bc0194a (patch) | |
tree | 4d5ef120cc0f0f8e7f91ff0912adee802f60c9f2 /pdf | |
parent | 63848329d1ee61e30a557a31a3b2d811a13ed421 (diff) | |
download | mupdf-4a05689ac239535c3441f8d43d21c1373bc0194a.tar.xz |
Throw an error if none of the content stream parts could be loaded.
Diffstat (limited to 'pdf')
-rw-r--r-- | pdf/pdf_page.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/pdf/pdf_page.c b/pdf/pdf_page.c index bf9bf411..7837c4cf 100644 --- a/pdf/pdf_page.c +++ b/pdf/pdf_page.c @@ -209,8 +209,6 @@ pdf_load_page_contents_array(fz_buffer **bigbufp, pdf_xref *xref, fz_obj *list) fz_buffer *one; int i, n; - /* TODO: openstream, read, close into big buffer at once */ - big = fz_new_buffer(32 * 1024); n = fz_array_len(list); @@ -233,6 +231,12 @@ pdf_load_page_contents_array(fz_buffer **bigbufp, pdf_xref *xref, fz_obj *list) fz_drop_buffer(one); } + if (n > 0 && big->len == 0) + { + fz_drop_buffer(big); + return fz_throw("cannot load content stream"); + } + *bigbufp = big; return fz_okay; } |