diff options
author | Robin Watts <robin.watts@artifex.com> | 2013-11-28 00:37:10 +0000 |
---|---|---|
committer | Robin Watts <robin.watts@artifex.com> | 2013-11-28 00:41:08 +0000 |
commit | 9c910781c2dd9b7b49fedefc9f140d0c3b1a3896 (patch) | |
tree | 2264740e62dc09045751109eeead791c3bd2538f /source/pdf/pdf-interpret.c | |
parent | 16158407233ab95669dcf54725a628315522c905 (diff) | |
download | mupdf-9c910781c2dd9b7b49fedefc9f140d0c3b1a3896.tar.xz |
Bug 694127: Valgrind fix for pdf_decode_cmap
A poorly formed string can cause us to overrun the end of the buffer.
Now we check the end of the string at each stage to avoid this.
Diffstat (limited to 'source/pdf/pdf-interpret.c')
-rw-r--r-- | source/pdf/pdf-interpret.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/source/pdf/pdf-interpret.c b/source/pdf/pdf-interpret.c index bfdf77ab..71dcbd4e 100644 --- a/source/pdf/pdf-interpret.c +++ b/source/pdf/pdf-interpret.c @@ -946,7 +946,7 @@ pdf_show_string(pdf_csi *csi, unsigned char *buf, int len) while (buf < end) { - int w = pdf_decode_cmap(fontdesc->encoding, buf, &cpt); + int w = pdf_decode_cmap(fontdesc->encoding, buf, end, &cpt); buf += w; cid = pdf_lookup_cmap(fontdesc->encoding, cpt); |