Garret Rieger
430bf69653
Add potentially crashing font as a fuzzer seed.
5 years ago
Chun-wei Fan
da95a8c239
Shaping tests: Skip FreeType tests if support not present
...
HarfBuzz could have been built without FreeType, so we skip the test
when hb-shape reports that the font function `ft' is unknown
5 years ago
Ebrahim Byagowi
755a77d660
Move outline draw API behind HB_EXPERIMENTAL_API directive
5 years ago
Garret Rieger
834a224a50
[subset] Put a limit on the number of lookup indices that can be visited during closures
...
Fixes https://crbug.com/oss-fuzz/21025
5 years ago
Ebrahim Byagowi
12df69e59c
Minor, delete not needed cmake testing file
5 years ago
Ebrahim Byagowi
943bfeda53
[meson] Enable more of the subset tests
5 years ago
Ebrahim Byagowi
c494d7abcd
Remove cmake testing and add meson build bot
...
CMake tests are broken anyway as py3 changes so let's get rid of them
5 years ago
Ebrahim Byagowi
1c3f80ba13
[meson] Minor updates
5 years ago
Tim-Philipp Müller
f1e5f4a784
meson: tests: shaping: add aots tests
5 years ago
Tim-Philipp Müller
84725fb005
meson: tests: shaping: add missing in-house tests
5 years ago
Tim-Philipp Müller
8fc66dbf9f
meson: tests: subset: no need to check for 'which' command any more
...
Test runner script now handles that.
5 years ago
Khaled Hosny
04438554c8
meson: Update build files after rebase
5 years ago
Tim-Philipp Müller
618584e923
meson: rename incbase to incconfig
...
Makes it clearer what it's for: config.h. See #4 .
5 years ago
Mathieu Duponchelle
d4a7237327
meson: all tests passing on Windows / MSVC
5 years ago
Mathieu Duponchelle
7ee650b173
meson: refactor fuzzing test
5 years ago
Mathieu Duponchelle
920efc0ef7
Add Meson build definitions
...
Fixes #490
http://mesonbuild.com
5 years ago
Ebrahim Byagowi
78eabf247e
[test] Enable OT funcs on tests that are working
5 years ago
Ebrahim Byagowi
0d729b4b72
[avar] Fix out-of-bound read when input is bigger than all the coords
...
'i' shouldn't become equal to array's length which as the increament
is happened at end of the loop, if the input is bigger than all the
table coords, it will be equal to array's length.
Fixes https://crbug.com/oss-fuzz/21092
5 years ago
Ebrahim Byagowi
6924e29f62
[var] Fix hb_ot_var_get_axis_infos's offset semantic
...
The API was adding offset to input's infos buffer index also which is
unusual between our APIs and wrong.
5 years ago
ariza
c05458ec7f
update cff & cff2 subsetters
5 years ago
Ebrahim Byagowi
446d1e3bbc
[fuzz] Add more of fixed cases
5 years ago
Ebrahim Byagowi
99b5b3f1b1
[gvar] Make sure TupleVarHeader has the needed size
...
Fixes https://crbug.com/oss-fuzz/21026
5 years ago
Ebrahim Byagowi
558f922788
[fuzz] Avoid empty memcpy and ubsan complain by length checking before memcpy
5 years ago
Ebrahim Byagowi
6543d166fd
[fuzz] Remove the not yet fixed timeout, going to investigate
5 years ago
Ebrahim Byagowi
2bbf1c8673
[fuzz] Add more of supposed to already be fixed cases from Chromium bug tracker
5 years ago
Ebrahim Byagowi
f253f06cf3
[fuzz] Add another fixed case
...
https://crbug.com/oss-fuzz/14626
another numerous subtables count which is fixed by d38360397
5 years ago
Ebrahim Byagowi
d383603976
Limit OT::Lookup subtables ( #2219 )
...
Fixes https://crbug.com/oss-fuzz/13943
5 years ago
Ebrahim Byagowi
29efd964f2
[fuzz] Add cases that marked as wontfix
...
Let's see if they were really false alarms, if so, let's just have them.
5 years ago
Ebrahim Byagowi
cb65150fec
[draw] minor
5 years ago
Ebrahim Byagowi
44169f3396
[draw] Fix invalid rendering of some glyph on Estedad-VF
...
Basically reverts 11f3fca
so I can do the same tested and better later
Fixes #2215
5 years ago
Ebrahim Byagowi
86c40b3a1d
[fuzz/draw] Call _get_glyph_extents
...
Other render related APIs also may be added also later such
as ot-color and future rendering things.
5 years ago
Michiharu Ariza
5ab50eebd7
collect_unicodes() with clamp, calling add_range()
...
Use add_range instead an inner loop, clamp its input number by
number of glyphs a face has.
Even the face cmap12 and 13 have 32-bit hb_codepoint_t, which is here
used to make timeout, face's maxp has 16-bit gid limitation at least for now,
using that makes sure we both fix and the timeout and don't need to change
much things here also in order to support 32-bit gids also someday.
Fixes #2204
5 years ago
Garret Rieger
410b4881d0
[subset] Add fuzzer timeout testcase.
5 years ago
Ebrahim Byagowi
e57ced5fc0
[gvar] Add other possibly fixed fuzzer case
...
Speculatively should've been fixed by 61208401
https://crbug.com/oss-fuzz/20924 related
5 years ago
Ebrahim Byagowi
758fda728b
[glyf] Don't accept gids higher than maxp's glyphs number
...
This specially becomes concerning on sub-components where a gvar table
that is sanitized using maxp's glyphs number overflows when a high gid
accepted here goes to it, maybe an additional check can be put there
also, this however feels to be enough.
Fixes https://crbug.com/oss-fuzz/20944
5 years ago
Ebrahim Byagowi
e90213868b
Revert "collect_unicodes() to check gid < num_glyphs with cmap 12"
...
Didn't fix the case actually, making bots to fail.
This reverts commit 15b43a4104
.
5 years ago
Ebrahim Byagowi
61208401f4
[gvar] Use hb_bytes_t.check_range instead having in house one
...
And use TupleVarHeader calculated size for validity check.
Fixes https://crbug.com/oss-fuzz/20919 and possibly other gvar related issues
5 years ago
Michiharu Ariza
15b43a4104
collect_unicodes() to check gid < num_glyphs with cmap 12
...
fixes #2204
5 years ago
Ebrahim Byagowi
868ecf7b26
[draw] Add fuzzer runner
5 years ago
Ebrahim Byagowi
8eba66c1c6
[gvar] Fix invalid memory access by refactoring GlyphVarData fetch logic
...
Fixes https://crbug.com/oss-fuzz/20906
5 years ago
Qunxin Liu
5ad761b943
[subset] GDEF MarkGlyphSets subsetting support
5 years ago
Qunxin Liu
fcd7f33bbb
[subset] GDEF glyphClassDef subsetting support
...
glyphClassDef uses the same ClassDef format. However, glyphClassDef table
uses predefined class values so we do not remap class values.
5 years ago
ariza
a99134c5be
add oss-fuzz 20886 test file
5 years ago
Ebrahim Byagowi
1b8b863898
minor
5 years ago
Ebrahim Byagowi
132fcfbc47
[fuzz] minor don't abort main.cc when the file was empty or not found
5 years ago
Ebrahim Byagowi
84163c83d3
[draw] Skip commands and paths not contributing anything
...
They aren't contributing to rendering and making issue for stroking, let's skip them
ourselves as Skia does also https://skia-review.googlesource.com/c/skia/+/268166
They are useful for extracting extents and so which that functionality won't be effected by this change.
5 years ago
ariza
4081439d2a
tweak reflecting review & add test cases
5 years ago
Ebrahim Byagowi
152000d9c7
[fuzz] Practice variations on font object
5 years ago
Ebrahim Byagowi
036d868913
[draw] Add a fuzzer
...
Specially checks correctness of the API semantics:
* no move happens when a path is already opened with move-to.
* no path will be left open and close-path will happen at the end of opened paths.
* no path opens with a move-to and will be closed with no length.
* paths start and ending points matches.
* no line/quadratic/cubic command will be issued when no path is started.
5 years ago
ariza
173b745da8
fixed bug & added tests
5 years ago