Commit graph

2265 commits

Author SHA1 Message Date
Behdad Esfahbod
5b337130e2 Add test for previous commit 2023-08-01 20:02:21 -06:00
Behdad Esfahbod
94d4283b12 [graph] Handle a malloc fail
Fixes https://oss-fuzz.com/testcase-detail/4579249263345664
2023-08-01 15:06:01 -06:00
Behdad Esfahbod
202888ec3e Fix mac bot
I think the new unsafe-to-concat is correct...
2023-07-30 11:49:08 -06:00
Behdad Esfahbod
f19ca24a8e Revert "Revert "Require numerator and denominator in auto fraction""
This reverts commit 8fe506e153.
2023-07-30 11:26:11 -06:00
Behdad Esfahbod
8fe506e153 Revert "Require numerator and denominator in auto fraction"
This reverts commit f3e86937df.
2023-07-30 11:09:37 -06:00
David Corbett
f3e86937df Require numerator and denominator in auto fraction 2023-07-30 10:26:00 -06:00
Behdad Esfahbod
997986ab30 [subset/hvar] Error handling
Fixes https://oss-fuzz.com/testcase-detail/5029952234586112
2023-07-09 15:16:06 -06:00
Behdad Esfahbod
c8f6ae1df7 [subset/hvar/retaingids] Synthesize a DeltaSetIndexMap if needed
Before we were emitting the entire VarStore rows if advMap
was Null. Instead, synthesize an advMap.

20% speed up in subset_glyphs/SourceHanSans-VF.otf/retaingids benchmark.
2023-07-08 20:23:20 -06:00
Khaled Hosny
afe0910295 [font] Actually deprecate get_glyph_shape()
We previously marked it as deprecated in the documentation but didn’t
actually deprecate it in code. Now the only known users have migrated to
draw_glyph(), lets deprecate o=it for good.
2023-07-09 03:20:27 +03:00
Behdad Esfahbod
f60dbd906a Fix thinko
Fixes https://oss-fuzz.com/testcase-detail/4787105656864768
2023-07-08 16:21:24 -06:00
Behdad Esfahbod
25297408de [COLR] Fix PaintComposite sanitize timeout
Was timing out after recent sanitize() change.

Fixes https://oss-fuzz.com/testcase-detail/5692635449524224
2023-07-03 10:35:27 -06:00
Behdad Esfahbod
0cf759b0d4 [Glyph] Don't shift anchored Composite if phantom_only
Fixes https://oss-fuzz.com/testcase-detail/5114131137822720
2023-07-02 12:15:43 -06:00
Behdad Esfahbod
cc44b3bce0 [subset/cff1] Handle an error condition
Fixes https://oss-fuzz.com/testcase-detail/5191907895279616
2023-06-29 16:13:19 -06:00
Behdad Esfahbod
62f5ed461e [subset/cff] Fix an infinite loop
Fixes https://oss-fuzz.com/testcase-detail/5419002026131456
2023-06-28 12:04:28 -06:00
Behdad Esfahbod
347b944811 [null] Fix getting Crap(hb_bytes_t)
Fixes https://oss-fuzz.com/testcase-detail/6187272924692480
2023-06-26 18:10:36 -06:00
Behdad Esfahbod
6c4f975dcb Add a fuzzer font 2023-06-25 23:37:08 -06:00
David Corbett
d8fba5c6b0 [use] Add FM categories to POST_BASE_FLAGS64 2023-06-22 20:56:08 -04:00
Garret Rieger
db700b5670 [subset] fix fuzzer timeout.
Fixes: https://oss-fuzz.com/testcase-detail/6681253479579648. Limits iteration of coverage table during MATH subset to valid glyphs.
2023-06-13 08:42:36 -06:00
Behdad Esfahbod
2e6919d526 [subset/cff2] Error handling
Fixes https://oss-fuzz.com/testcase-detail/4916785942757376
2023-06-10 10:08:56 -06:00
Behdad Esfahbod
d08aee5a7e Add fuzzing test 2023-06-08 13:20:28 -06:00
Behdad Esfahbod
ada1e9a924 [graph/serialize] Handle empty blob
Fixes https://oss-fuzz.com/testcase-detail/4877513265119232
2023-06-06 14:46:47 -06:00
Behdad Esfahbod
a92b288e65 [serializer] Handle snapshotting when current is nullptr
Happens with memory failure / fuzzing.

Fixes https://oss-fuzz.com/testcase-detail/6292420615340032
2023-06-06 14:32:25 -06:00
Behdad Esfahbod
c2eaedd2cd [fuzzing] Add a test font
From https://oss-fuzz.com/testcase-detail/5855710991482880
2023-06-04 09:25:17 -06:00
Garret Rieger
f3b4d35f36 [subset] Fix fuzzer crash.
https://oss-fuzz.com/testcase-detail/6608005089853440
2023-05-30 18:56:48 +02:00
Garret Rieger
20c564bc76 [repacker] Fix fuzzer memory leak.
https://oss-fuzz.com/testcase-detail/6419865171525632
2023-05-27 01:16:46 +02:00
Garret Rieger
a652281ed6 [subset] Fix fuzzer timeout.
Fixes https://oss-fuzz.com/testcase-detail/5979721620652032. Timeout was caused by degenerate map insert behaviour due to poor integer hash function. Presize the map to avoid it. Also fixes collect_mapping() for cmap format 13.
2023-05-27 00:25:47 +02:00
Khaled Hosny
0d354e0442 [layout] Add tests for baseline 2 APIs 2023-05-21 19:01:04 +03:00
Behdad Esfahbod
132391ad62 [layout] Add test for font_extents 2023-05-19 16:10:21 -06:00
Garret Rieger
77a8155425 [subset] Add some basic tests for a provided glyph map. 2023-05-04 23:01:56 +00:00
Garret Rieger
db23be642f [subset] clamp head *Min/*Max values to fit within 16 bit signed int.
Fixes fuzzer https://oss-fuzz.com/testcase-detail/4549472192692224.
2023-05-01 20:28:58 -06:00
Garret Rieger
b3fed4fa64 [repacker] fix fuzzer found memory leak.
Fixes https://oss-fuzz.com/testcase-detail/5196242811748352
2023-04-27 17:18:47 -06:00
Behdad Esfahbod
1d31da91ce
Merge pull request #4205 from harfbuzz/gvar-optimize
Gvar optimize
2023-04-25 15:34:06 -06:00
Garret Rieger
e41f317199 [subset] Update expectation files for full_instance tests. 2023-04-25 20:54:27 +00:00
Garret Rieger
2175f5d050 [subset] Fix inefficient ItemVariationStore subsetting w/ retain_gids.
ItemVariationStore is relying on the assumption that the inner_map is populated for all output glyphs, this is not true for subsetting operations with retain gids enabled. Fixes fuzzer timeout: https://oss-fuzz.com/testcase-detail/4575222591520768.
2023-04-24 18:11:48 -06:00
Garret Rieger
647b024784 [subset] Fix fuzzer issue https://oss-fuzz.com/testcase-detail/6521393809588224 2023-04-18 13:21:46 -06:00
Garret Rieger
3db6baa20e [subset] add test for lig glyph fix. 2023-04-17 14:35:27 -06:00
Garret Rieger
14b9d8d534 [subset] add --no-layout-closure flag.
Disables layout glyph closure. Fixes #4192.
2023-04-14 15:12:41 -06:00
Qunxin Liu
96ed20725c [instancer] update bound metrics for CFF2 instancing 2023-04-05 17:27:11 -06:00
Garret Rieger
2cd81fdfb6 [subset] fix memory leak.
Fixes fuzzer issue https://oss-fuzz.com/testcase-detail/6169920089227264
2023-03-30 16:19:41 -06:00
Qunxin Liu
c1acfe9966 [instancer] bug fix in TupleVariationData get_size ()
We need to iterate TupleVariationHeader when calculating the total size
2023-03-27 15:37:06 -06:00
Garret Rieger
be87200106 [subset] fix buffer overflow fuzzer reported issue. 2023-03-25 10:11:46 -04:00
Garret Rieger
79ae6b657f [subset] Fix fuzzer found memory leaks. 2023-03-25 10:11:46 -04:00
Qunxin Liu
ab87d7d225 [instance] add tests for colrv1 full instancing 2023-03-21 11:51:58 -06:00
Garret Rieger
f0f7f22525 [subset] fix fuzzer found null deref.
https://oss-fuzz.com/testcase-detail/5844352760152064
2023-03-21 11:41:09 -06:00
Garret Rieger
a84cae424d [subset] Don't add invalid gids (-1) to the glyphset when loading glyph map from the accelerator. 2023-03-15 12:10:18 -06:00
Behdad Esfahbod
09a2662361
Merge pull request #4168 from googlefonts/subset_name_collect
[subset] name_id closure
2023-03-14 12:48:12 -06:00
Qunxin Liu
204e155acb [subset] Add tests for collecting name_ids from STAT and FeatureParams 2023-03-14 10:25:31 -07:00
Garret Rieger
3d05b96181 [subset] track which glyphs have allocated memory so we can clean up correctly.
Fixes https://oss-fuzz.com/testcase-detail/5388270411579392
2023-03-13 16:03:58 -06:00
Garret Rieger
7a87b17742 Check for failed subset input creation in the fuzzer. 2023-03-13 15:21:25 -06:00
Garret Rieger
28b05e1cb6 [subset] Fix memory leak in glyf subset.
Fixes fuzzer issue: https://oss-fuzz.com/testcase-detail/6525813890875392.
2023-03-08 17:02:04 -07:00