summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichiharu Ariza <ariza@adobe.com>2019-03-15 13:46:25 -0700
committerGitHub <noreply@github.com>2019-03-15 13:46:25 -0700
commitbcb4e505d6ffe33e3268a06698e75d6be0e64957 (patch)
treeaf139b3b9240abfd5a76076293b624057f777000
parent8aaab78efcac81a05ec919be13792c98741ea1b5 (diff)
cff2 subset fuzzer issues (#1619)
* add check to FDArray::serialize * add test files * fix off by one
-rw-r--r--src/hb-ot-cff-common.hh1
-rw-r--r--test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5739000398086144bin0 -> 620 bytes
-rw-r--r--test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5760768497156096bin0 -> 210 bytes
-rw-r--r--test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5764268627066880bin0 -> 687 bytes
4 files changed, 1 insertions, 0 deletions
diff --git a/src/hb-ot-cff-common.hh b/src/hb-ot-cff-common.hh
index c645953e..61e615cf 100644
--- a/src/hb-ot-cff-common.hh
+++ b/src/hb-ot-cff-common.hh
@@ -525,6 +525,7 @@ struct FDArray : CFFIndexOf<COUNT, FontDict>
for (unsigned i = 0; i < fontDicts.length; i++)
if (fdmap.includes (i))
{
+ if (unlikely (fid >= fdCount)) return_trace (false);
CFFIndexOf<COUNT, FontDict>::set_offset_at (fid++, offset);
offset += FontDict::calculate_serialized_size (fontDicts[i], opszr);
}
diff --git a/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5739000398086144 b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5739000398086144
new file mode 100644
index 00000000..0dec23fa
--- /dev/null
+++ b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5739000398086144
Binary files differ
diff --git a/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5760768497156096 b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5760768497156096
new file mode 100644
index 00000000..063aab2e
--- /dev/null
+++ b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5760768497156096
Binary files differ
diff --git a/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5764268627066880 b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5764268627066880
new file mode 100644
index 00000000..2b49553d
--- /dev/null
+++ b/test/fuzzing/fonts/clusterfuzz-testcase-minimized-hb-subset-fuzzer-5764268627066880
Binary files differ