|
675ebbeb
|
2021-06-16T10:40:46
|
|
[subset] don't alloc zero bytes.
It will be leaked later since hb_blob_create() won't set up the blob to cleanup since it has length zero.
|
|
bdfed8f1
|
2021-06-14T15:46:04
|
|
[blob] Add failing versions of create API
Fixes https://github.com/harfbuzz/harfbuzz/issues/2567
New API:
+hb_blob_create_or_fail()
+hb_blob_create_from_file_or_fail()
Use these in util/ to distinguish empty file from not-found file.
Only err on the latter.
|
|
35d6af69
|
2021-06-04T10:04:27
|
|
[subset] fix fuzzer testcase: https://oss-fuzz.com/testcase-detail/5965777994907648
|
|
1b6008ca
|
2021-06-02T15:07:18
|
|
fix fuzzer testcase: https://oss-fuzz.com/testcase-detail/5417934246772736
|
|
7ab0f4ed
|
2021-05-27T11:40:34
|
|
fuzzer fix
|
|
425ba1f4
|
2021-04-19T18:01:24
|
|
[subset] fixes infinite loop in hb_set_get_max().
Fixes https://oss-fuzz.com/testcase-detail/5363902507515904
|
|
ec432106
|
2021-04-19T17:18:05
|
|
[subset] fix infinite loop caused by alloc failure in repacker.
Fixes: https://oss-fuzz.com/testcase-detail/5609112151916544.
|
|
0e845d97
|
2021-04-19T16:09:37
|
|
[subset] fix memory leak in repacker caused by failed alloc.
Fixes: https://oss-fuzz.com/testcase-detail/5616763250278400.
|
|
3fb62cdc
|
2021-04-05T15:48:34
|
|
[subset] fail on offset overflow in tables that we don't repack.
Fixes: https://oss-fuzz.com/testcase-detail/5229304507138048
|
|
9dc9f038
|
2021-04-08T11:00:17
|
|
[subset] fix for fuzzer testcase: https://oss-fuzz.com/testcase-detail/5858518134554624
|
|
4af5dace
|
2021-04-07T10:56:49
|
|
[subset] add fuzzer testcase
|
|
64122b5a
|
2021-04-05T12:53:08
|
|
[subset] don't visit lookup if covered glyph set has failed.
If covered glyph set is in error then the same lookup can be recursed into repeatedly potentially causing a fuzzer timeout. Fixes: https://oss-fuzz.com/testcase-detail/5416421032067072.
|
|
71d6d156
|
2021-04-05T12:03:17
|
|
[subset] clamp distance to prevent shifting outside of the limits of int64.
Fixes https://oss-fuzz.com/testcase-detail/4961171477233664.
|
|
c5c13006
|
2021-03-31T11:23:46
|
|
[subset] fix memory leaks found in https://oss-fuzz.com/testcase-detail/5179935334465536
|
|
adca4ce0
|
2021-03-30T13:20:50
|
|
[subset] fixes https://oss-fuzz.com/testcase-detail/6173520787800064.
Caused by incorrect bounds check in glyph closure for context lookups.
|
|
752e393a
|
2021-03-29T17:23:33
|
|
[subset] avoid calling clear on null pool set.
|
|
8741914a
|
2021-03-29T16:39:44
|
|
[subset] fix memory leak when map insert fails.
|
|
5b6da6d2
|
2021-03-29T16:19:17
|
|
[subset] add fuzzer test case.
|
|
a804a0c9
|
2021-03-29T14:25:20
|
|
[subset] add fuzzer test case.
|
|
f2d08578
|
2021-03-16T00:19:40
|
|
[tests] Increase shape-fuzzer timeout
|
|
5ca353a2
|
2021-02-12T15:16:59
|
|
[subset] fix heap buffer overflow found by fuzzer.
|
|
33a0f0b6
|
2021-02-09T12:55:45
|
|
[test] Remove fuzzed test font that triggers virus alert
Fixes https://github.com/harfbuzz/harfbuzz/issues/2750
|
|
f94bf9f0
|
2021-01-25T15:57:42
|
|
[set fuzzer] limit the total number of set members in a fuzzing input.
Currently the fuzzer can create arbitarily long inputs which once big enough will trigger a timeout.
|
|
a4c3732f
|
2020-09-16T12:35:09
|
|
[ENOMEM] fix set clear() causing corruption if the set is in_error().
|
|
84dd65a8
|
2020-10-13T20:21:28
|
|
[test] Remove timeout from test runners
See https://github.com/harfbuzz/harfbuzz/issues/2707#issuecomment-707744079
This wasn’t inconsistent as well, HB_TEST_SUBSET_FUZZER_TIMEOUT defaulted
to 12 in the test runner, but it was overridden to 50 in meson.build,
and then meson has its own test timeout.
|
|
bbbcad0d
|
2020-09-16T11:19:40
|
|
Revert "[ENOMEM] don't perform set process operations if the other set is in an error state."
This reverts commit f3929abafe3b64f15d0dc2d21ad7b493eeb92dfe.
|
|
f3929aba
|
2020-09-15T13:06:36
|
|
[ENOMEM] don't perform set process operations if the other set is in an error state.
Running a process while the other set is in an error state can potentially corrupt this sets map map (for example by overwritting all of the major values with 0).
|
|
8c3d4de7
|
2020-09-09T12:38:34
|
|
[subset] Fix integer underflow in ContextFormat2.
|
|
9825e3dd
|
2020-08-26T17:31:50
|
|
[ENOMEM] fix access to unitialized memory.
If the serialize() call fails to write the object then we can't safely read varstore_prime fields. Fixes https://oss-fuzz.com/testcase-detail/5137462782066688.
|
|
1e48225c
|
2020-08-13T23:22:14
|
|
[ENOMEM] Check whether serialize context isn't in error
|
|
6e32145d
|
2020-08-13T00:13:06
|
|
[meson] Make compatbile with 0.47.0
|
|
9562239f
|
2020-08-12T13:01:22
|
|
[ENOMEM] check for error in lookup visited set.
|
|
6f754852
|
2020-08-11T15:40:47
|
|
[ENOMEM] skip asserts in to_bias if serializer is in an error state.
|
|
057769b1
|
2020-08-12T02:30:33
|
|
[fuzzer] minor
|
|
04179380
|
2020-08-12T02:19:06
|
|
[fuzzer] Mark alloc_state as unused
It is really unused when failing-alloc isn't on.
|
|
51933578
|
2020-08-11T23:51:59
|
|
Revert "Remove autotools build support"
This reverts commit 01ac32aab2109681abc58bb2f96a4ef4a7f0c6df.
|
|
ffe06c8f
|
2020-08-08T13:17:34
|
|
[glyf] Guard all the public APIs against null pool runs
Fixes https://crbug.com/oss-fuzz/24575 and https://crbug.com/oss-fuzz/24737
|
|
01ac32aa
|
2020-08-02T11:35:55
|
|
Remove autotools build support
|
|
679fac87
|
2020-07-30T15:29:43
|
|
Skip hb_shape if buffer object is immutable
|
|
18ab8029
|
2020-07-31T14:40:49
|
|
[ENOMEM] check vector status in cmap subsetting.
|
|
06dbb6ac
|
2020-07-31T15:56:14
|
|
[ENOMEM] in GSUB ChainContext subsetting check maps for allocation errors.
|
|
fb147779
|
2020-07-31T14:00:38
|
|
[ENOMEM] Check result of vector resize in CBDT subsetting.
|
|
efd716de
|
2020-07-31T08:58:53
|
|
[cff] Check for scalars array resize result
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=24504
|
|
040ed094
|
2020-07-30T15:14:02
|
|
[ENOMEM] popragate packed/packed_map errors to the serializer.
Will disable further modifications based on a bad state.
|
|
7f358a55
|
2020-07-30T13:57:30
|
|
[ENOMEM] unchecked resize in CFF2.
|
|
32f052b0
|
2020-07-30T13:45:04
|
|
[ENOMEM] Fix several instances of not checking resize in CFF.
|
|
15644ee6
|
2020-07-29T16:37:39
|
|
[ENOMEM] fix memory leak if allocation fails during pop_pack().
|
|
42237adf
|
2020-07-29T15:18:25
|
|
[ENOMEM] make serializer modification operations no-ops if it's in an error state.
|
|
4ba8e3c6
|
2020-07-29T12:33:42
|
|
[ENOMEM] Fix failure to check calloc return.
Fixes https://oss-fuzz.com/testcase-detail/6246465148813312.
|
|
d307c24a
|
2020-07-29T12:23:37
|
|
[ENOMEM] check resize() return.
Fixes https://oss-fuzz.com/testcase-detail/5641892164009984.
|
|
48ad7459
|
2020-07-29T08:09:08
|
|
[ENOMEM] Fix buffer's content check logic
So now rest of shape fuzzer also can be enabled.
Fixes #2571
|
|
c33e8006
|
2020-07-14T19:29:58
|
|
[fuzz] Implement failing allocator
|
|
5c46683a
|
2020-07-22T17:23:22
|
|
[fuzz] increase shape fuzzer timeout
as https://circleci.com/gh/harfbuzz/harfbuzz/149203
|
|
945bcd72
|
2020-07-15T09:54:32
|
|
minor
|
|
fa0436dd
|
2020-07-15T09:52:40
|
|
[ENOMEM][fuzzer/subset] early return if the result is null
I don't see _or_fail APIs idiomatic for the project but since it is there, let's have this
|
|
11d583a9
|
2020-07-14T06:23:06
|
|
[aat] Consume glyph insertion from buffer's max_ops (#2223)
Glyph insertion is an expensive operation and we like to have it limited
based on buffer's input size which is handled by buffer's max_ops.
clusterfuzz-testcase-minimized-harfbuzz_fuzzer-5754958982021120:
Before the change: 0.67s user 0.00s system 99% cpu 0.674 total
After the change: 0.02s user 0.00s system 98% cpu 0.024 total
Which takes much longer on valgrind and tsan bots.
|
|
cd6f62d9
|
2020-07-12T23:05:11
|
|
[meson] Raise timeout value of subset fuzzer testcases
happens when tsan is enabled
|
|
e4f99691
|
2020-07-08T15:10:25
|
|
[ci] migrate to meson
two bots, one bot here (distcheck) and one in travis still run autotools and
won't be removed till we decide about autotools
|
|
e04050e3
|
2020-07-08T01:06:30
|
|
[meson] split fuzzer_ldflags before use
|
|
c5def347
|
2020-07-06T23:29:56
|
|
[meson] don't underscorify fuzzers names
|
|
d608f2ac
|
2020-07-06T22:40:51
|
|
[meson] Add fuzzer_ldflags
As ots, https://github.com/khaledhosny/ots/commit/4d37b9b
|
|
a470b0b2
|
2020-07-04T23:56:10
|
|
Minor, disable strict-aliasing warning in set fuzzer
../test/fuzzing/hb-set-fuzzer.cc: In function ‘int LLVMFuzzerTestOneInput(const uint8_t*, size_t)’:
../test/fuzzing/hb-set-fuzzer.cc:38:82: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
38 | const instructions_t &instructions = reinterpret_cast<const instructions_t &> (data);
|
And it is already disabled at project level so let's disable it here also.
|
|
a07672d3
|
2020-07-04T14:12:55
|
|
[py] minor, replace os.environ.get with os.getenv
|
|
47a0fbec
|
2020-06-21T02:34:59
|
|
[meson] Mark longer tests with slow
So one can skip them easily by `meson test -Cbuild --no-suite slow`
|
|
08816117
|
2020-06-20T01:02:50
|
|
[fuzzer] Make some use for test_font API calls
Making some use for result of some of the test_font calls to make
sure compilers in fuzzers aren't just optimizing the calls.
|
|
03bd6ead
|
2020-06-03T23:52:10
|
|
[meson] Only pass required dependencies to everything
Instead of passing dependencies as required we used one giant shared
dependency list containing all dependencies for every library/executable.
While this kinda works, the specified deps are also used for generating
the pkg-config files and this leads to lots of Requires.private and Libs.private
entries which aren't really needed.
This removes the "deps" array and replaces it with a few smaller ones and
makes sure the public libraries only get passed the dependencies actually
needed.
Fixes #2441
|
|
a9d13463
|
2020-05-30T14:17:56
|
|
[meson] Categorize tests using `suite: [...]`
So one can run a category of interested tests like
meson test -Cbuild --suite aots --suite src --print-errorlogs
Intead issuing particular tests which also is possible like
meson test -Cbuild test-shape --print-errorlogs
|
|
7554f618
|
2020-05-28T22:51:29
|
|
minor, use sys.exit print shorthand
|
|
f7562672
|
2020-05-21T17:01:04
|
|
[meson] Use / instead join_paths
We need some of the very recent features of meson, let's use the new features also
|
|
b8d1760b
|
2020-05-21T14:45:41
|
|
[meson/ci] Increase cmap fuzzer timeout even more
|
|
4b12b846
|
2020-05-21T14:23:36
|
|
[meson] Increase timeout in hope to resolve Actions' bot timeout
|
|
1c4dd79c
|
2020-05-21T08:49:14
|
|
[ci] Increase timeout as gh bot issue isn't resolved by serial test
|
|
8667df55
|
2020-05-21T07:19:37
|
|
[meson] Unbreak the build, oops
|
|
791debdc
|
2020-05-21T07:15:09
|
|
[meson][ci] Don't run subset fuzzer test in parallel
resolves https://github.com/harfbuzz/harfbuzz/runs/695051808#step:6:595 failure
|
|
8a5368e2
|
2020-05-21T07:00:40
|
|
[tests] Enable more gid misc calls on draw fuzzer
|
|
c68ab4b5
|
2020-05-21T00:25:17
|
|
Fix _get_ligature_caret's oob read issue
AAT::Lookup has no other way to detect whether it is returned from
a real and sanitized font data or from a null pool, this checks if
the table has been recognized valid by sanitizer by checking
table's major version which is zero if returned from a null pool and
non-zero if is from a sanitized font data, it is expected the other
calls of the table (unlikely to have more calls however) also do a
similar version check before calling the lookups used on the table.
|
|
b22f61d8
|
2020-04-21T11:49:05
|
|
Fix bug
|
|
22f7c61a
|
2020-04-17T23:49:51
|
|
implement SID to glyph ID mapping with predefined Charset
Also fixes oss-fuzz 21769
|
|
0d569598
|
2020-04-05T18:44:26
|
|
[subset] fixes dangling object_t issue in FeatureVariationRecord
Fixes https://crbug.com/oss-fuzz/21560
revert () does not clean up useless object_t. Adjust the order of
subsetting substitutions and conditions to avoid dangling object_t.
|
|
57b7de03
|
2020-04-05T17:07:48
|
|
[subset] Fail ClassDefFormat1 serialization if no space available
Fixes https://crbug.com/oss-fuzz/21580
|
|
014e038b
|
2020-03-31T16:29:29
|
|
[subset] Bail out of context lookup expansion once the lookup limit is encountered.
|
|
5d345d0c
|
2020-03-31T17:46:19
|
|
[subset] Limit the number of lookup indices processed subsetting Feature.
> Also, remove two unnessecary full iterations of the lookup index iterator during serialization of the index array. Fixes fuzzer found timeout.
|
|
96d792ae
|
2020-03-24T14:05:47
|
|
[avar] Prevent mul overflow
Fixes https://crbug.com/oss-fuzz/21350
|
|
4ad686b9
|
2020-03-25T23:32:28
|
|
[subset] fix fuzzer timeout in layout closure
Bail out of chain context lookup expansion once the lookup limit is encountered.
|
|
7054b122
|
2020-03-24T22:35:41
|
|
[meson] Mark rest of non-install executables explicitly
|
|
600bf21f
|
2020-03-24T20:08:40
|
|
[meson] Add draw-fuzzer runner
|
|
28deb6b7
|
2020-03-24T19:41:53
|
|
[meson] test/fuzzing simplify
|
|
78622231
|
2020-03-24T19:39:42
|
|
[meson] More comment on tests are causing timeout failure
|
|
d57fc627
|
2020-03-24T16:03:04
|
|
[meson] raise timeout value of subset fuzzer
|
|
76169526
|
2020-03-19T11:43:37
|
|
[tests] Remove py2 workaround for lack of timeout in subprocess
|
|
b5526a09
|
2020-03-18T23:58:20
|
|
[tools] Remove in-house 'which' now that we have py3
|
|
430bf696
|
2020-03-13T11:20:34
|
|
Add potentially crashing font as a fuzzer seed.
|
|
755a77d6
|
2020-01-29T22:26:04
|
|
Move outline draw API behind HB_EXPERIMENTAL_API directive
|
|
834a224a
|
2020-03-12T03:02:36
|
|
[subset] Put a limit on the number of lookup indices that can be visited during closures
Fixes https://crbug.com/oss-fuzz/21025
|
|
c494d7ab
|
2020-03-11T19:44:13
|
|
Remove cmake testing and add meson build bot
CMake tests are broken anyway as py3 changes so let's get rid of them
|
|
1c3f80ba
|
2020-03-11T19:29:47
|
|
[meson] Minor updates
|
|
04438554
|
2018-11-15T00:25:41
|
|
meson: Update build files after rebase
|
|
618584e9
|
2018-11-14T20:19:36
|
|
meson: rename incbase to incconfig
Makes it clearer what it's for: config.h. See #4.
|
|
d4a72373
|
2018-05-17T16:25:22
|
|
meson: all tests passing on Windows / MSVC
|
|
7ee650b1
|
2018-05-17T23:52:36
|
|
meson: refactor fuzzing test
|