test/fuzzing


Log

Author Commit Date CI Message
Behdad Esfahbod 1121d80b 2024-03-22T10:45:36 [varc] Add a conditional test font
Behdad Esfahbod 7c874354 2024-03-20T15:34:24 [varc] Implement conditionSets
Behdad Esfahbod 3ffd92f0 2024-03-17T12:38:30 [varc] Add a couple of seeds for the fuzzer
Behdad Esfahbod d07d70ae 2024-03-22T11:43:37 [varc] Add test
Garret Rieger c84acc8e 2024-04-08T23:46:14 [subset] Fix fuzzer found memory leak. Fixes https://oss-fuzz.com/testcase-detail/6159925345583104.
Garret Rieger ef1f5c4e 2024-01-08T22:17:55 [subset] Re-use common Coverage subsetting function in PairPosFormat2. Was using an identical but less efficient version. Fixes fuzzer test case: https://oss-fuzz.com/testcase-detail/6151390002806784
Garret Rieger 333946b0 2023-09-28T19:02:37 [subset] Fix fuzzer timeout. Fixes https://oss-fuzz.com/testcase-detail/5458896606855168. Limit iteration over coverage in MarkLigPosFormat1 subsetting to the number of glyphs in the liga array.
Qunxin Liu 9ceb800a 2023-09-28T10:37:48 fuzzer fix https://oss-fuzz.com/testcase-detail/5842152921628672 Access TupleVariationData through blob, because we don't sanitize var_data
Qunxin Liu fd3eb2c6 2023-08-24T08:59:18 fuzzer fix: https://oss-fuzz.com/testcase-detail/6032126569742336
Garret Rieger a1f034ea 2023-08-28T21:10:16 [repacker] fix fuzzer failure. Fixes: https://oss-fuzz.com/testcase-detail/6490945267564544
Garret Rieger ca906e87 2023-08-16T23:37:03 [repacker] fix fuzzer timeout. Corrects some mistakes in the handling of incoming_edges_ when memory allocation failures happen.
Behdad Esfahbod 94d4283b 2023-08-01T15:05:17 [graph] Handle a malloc fail Fixes https://oss-fuzz.com/testcase-detail/4579249263345664
Behdad Esfahbod 997986ab 2023-07-09T15:15:33 [subset/hvar] Error handling Fixes https://oss-fuzz.com/testcase-detail/5029952234586112
Behdad Esfahbod f60dbd90 2023-07-08T16:21:24 Fix thinko Fixes https://oss-fuzz.com/testcase-detail/4787105656864768
Behdad Esfahbod 25297408 2023-07-03T10:34:26 [COLR] Fix PaintComposite sanitize timeout Was timing out after recent sanitize() change. Fixes https://oss-fuzz.com/testcase-detail/5692635449524224
Behdad Esfahbod 0cf759b0 2023-07-02T12:15:43 [Glyph] Don't shift anchored Composite if phantom_only Fixes https://oss-fuzz.com/testcase-detail/5114131137822720
Behdad Esfahbod cc44b3bc 2023-06-29T16:12:10 [subset/cff1] Handle an error condition Fixes https://oss-fuzz.com/testcase-detail/5191907895279616
Behdad Esfahbod 62f5ed46 2023-06-28T12:02:52 [subset/cff] Fix an infinite loop Fixes https://oss-fuzz.com/testcase-detail/5419002026131456
Behdad Esfahbod 347b9448 2023-06-26T18:09:40 [null] Fix getting Crap(hb_bytes_t) Fixes https://oss-fuzz.com/testcase-detail/6187272924692480
Behdad Esfahbod 6c4f975d 2023-06-25T23:37:08 Add a fuzzer font
Garret Rieger db700b56 2023-06-12T23:38:26 [subset] fix fuzzer timeout. Fixes: https://oss-fuzz.com/testcase-detail/6681253479579648. Limits iteration of coverage table during MATH subset to valid glyphs.
Behdad Esfahbod 2e6919d5 2023-06-10T10:08:56 [subset/cff2] Error handling Fixes https://oss-fuzz.com/testcase-detail/4916785942757376
Behdad Esfahbod d08aee5a 2023-06-08T13:20:28 Add fuzzing test
Behdad Esfahbod ada1e9a9 2023-06-06T14:46:06 [graph/serialize] Handle empty blob Fixes https://oss-fuzz.com/testcase-detail/4877513265119232
Behdad Esfahbod a92b288e 2023-06-06T14:32:25 [serializer] Handle snapshotting when current is nullptr Happens with memory failure / fuzzing. Fixes https://oss-fuzz.com/testcase-detail/6292420615340032
Behdad Esfahbod c2eaedd2 2023-06-04T09:25:07 [fuzzing] Add a test font From https://oss-fuzz.com/testcase-detail/5855710991482880
Garret Rieger f3b4d35f 2023-05-29T22:38:40 [subset] Fix fuzzer crash. https://oss-fuzz.com/testcase-detail/6608005089853440
Garret Rieger 20c564bc 2023-05-26T23:04:25 [repacker] Fix fuzzer memory leak. https://oss-fuzz.com/testcase-detail/6419865171525632
Garret Rieger a652281e 2023-05-26T19:47:50 [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.
Garret Rieger db23be64 2023-05-02T00:06:08 [subset] clamp head *Min/*Max values to fit within 16 bit signed int. Fixes fuzzer https://oss-fuzz.com/testcase-detail/4549472192692224.
Garret Rieger b3fed4fa 2023-04-27T22:13:30 [repacker] fix fuzzer found memory leak. Fixes https://oss-fuzz.com/testcase-detail/5196242811748352
Garret Rieger 2175f5d0 2023-04-24T21:13:18 [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.
Garret Rieger 647b0247 2023-04-17T22:47:47 [subset] Fix fuzzer issue https://oss-fuzz.com/testcase-detail/6521393809588224
Garret Rieger 2cd81fdf 2023-03-30T22:11:43 [subset] fix memory leak. Fixes fuzzer issue https://oss-fuzz.com/testcase-detail/6169920089227264
Garret Rieger be872001 2023-03-24T17:30:53 [subset] fix buffer overflow fuzzer reported issue.
Garret Rieger 79ae6b65 2023-03-24T17:14:55 [subset] Fix fuzzer found memory leaks.
Garret Rieger f0f7f225 2023-03-20T18:39:49 [subset] fix fuzzer found null deref. https://oss-fuzz.com/testcase-detail/5844352760152064
Garret Rieger 3d05b961 2023-03-13T21:34:26 [subset] track which glyphs have allocated memory so we can clean up correctly. Fixes https://oss-fuzz.com/testcase-detail/5388270411579392
Garret Rieger 7a87b177 2023-03-13T19:50:28 Check for failed subset input creation in the fuzzer.
Garret Rieger 28b05e1c 2023-03-08T23:59:04 [subset] Fix memory leak in glyf subset. Fixes fuzzer issue: https://oss-fuzz.com/testcase-detail/6525813890875392.
Garret Rieger 9286e125 2023-03-08T20:02:26 Don't subset a glyf table with an unknown format. Fixes fuzzer issue: https://oss-fuzz.com/testcase-detail/4875306193518592
Behdad Esfahbod 2d33a6b4 2023-02-28T15:31:45 [subset-fuzzer] Protect against overflow Fixes https://github.com/harfbuzz/harfbuzz/issues/4137#issuecomment-1448994447
Garret Rieger c0fac016 2023-02-22T20:54:20 [subset] update the subset fuzzer to be able to reach instancing code.
Garret Rieger 918193eb 2023-02-22T23:11:29 [subset] fix a class of fuzzer timeouts caused by large shared coverage tables. More acurately estimates the op count for CoverageFormat2 tables as the population size instead of the size in bytes.
Behdad Esfahbod 64fa5cd4 2023-02-07T15:50:36 [GPOS] Fix assert fail introduced recently Was introduced in 8708b9e081192786c027bb7f5f23d76dbe5c19e8. If these lookups are recursed to from (Chain)Context out-of-order, it was possible that last_base > buffer->idx, in which case we were attaching marks to a base after them... and an assertion was failing fortunately. Fixes https://oss-fuzz.com/testcase-detail/6377756666757120
Garret Rieger e4fff64c 2023-01-24T00:52:26 [repacker] check duplicate() for success. Fixes fuzzer testcase https://oss-fuzz.com/testcase-detail/5475787333828608.
Behdad Esfahbod b63159e8 2023-01-21T15:50:48 [PairPosFormat1] Fix stride Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=55287 and generally the lookup with MediumTypes.
Behdad Esfahbod 3c972867 2022-12-22T11:40:06 More s/hb_font_get_glyph_shape/hb_font_draw_glyph/
Chun-wei Fan 4622be7f 2022-12-22T12:05:11 test/fuzzing: Fix dist We need to dist the repacker fuzzer test items into the tarball, along with the items in graphs/ and sets/.
Garret Rieger 40342c94 2022-12-21T21:52:28 [subset] check for addition overflow in hdmx size calculation. Fixes https://oss-fuzz.com/testcase-detail/4877336988483584.
Garret Rieger b5acde43 2022-12-13T22:04:19 [subset] check pending/subsetted tag sets for alloc failure.
Garret Rieger 35233d25 2022-12-07T00:47:28 [repacker] fix fuzzer reported stack overflow. Fixes https://oss-fuzz.com/testcase-detail/6014493291577344.
Garret Rieger b17fbc20 2022-12-05T20:34:51 [repacker] use memcpy to avoid alignment issues.
Garret Rieger f1d34893 2022-12-05T19:33:15 [repacker] bail on failure to alloc assigned_bytes set. Fixes fuzzer issue https://oss-fuzz.com/testcase-detail/5390364397928448.
Garret Rieger 239a5aca 2022-12-05T19:15:36 [repacker] don't allow references to the null object in graph. Fixes fuzzer issue https://oss-fuzz.com/testcase-detail/6714085985353728
Garret Rieger 16f61a1c 2022-12-01T23:57:30 [repacker] only build repacker fuzzer when experimental api is enabled.
Garret Rieger de5a6213 2022-12-01T23:37:16 [repacker] enforce root node having no incoming edges.
Garret Rieger 30e405e4 2022-12-01T22:12:59 [repacker] ensure link obj indices are valid.
Garret Rieger 554ed06f 2022-12-01T21:51:17 [repacker] add cycle detection to the graph sort. This allows us to bail early if the graph is not acyclic.
Garret Rieger 9e99d084 2022-09-08T23:19:02 [repacker] validate link widths during repacker setup.
Garret Rieger edf7a295 2022-09-08T22:59:34 [repacker] Validate link positions before running the repacker.
Garret Rieger 88d43752 2022-09-08T21:19:25 [repacker] add test for repacker fuzzer.
Garret Rieger 6627a1ab 2022-09-08T21:11:39 [repacker] Add a initial seed for the fuzzer repacker.
Garret Rieger deca30b2 2022-09-08T21:10:06 [repacker] get repacker fuzzer working. Additionally add helper method that allows a graph to be saved as a fuzzer seed.
Garret Rieger 261a605f 2022-09-07T22:43:06 [repacker] verify graph is a dag before using the fuzzer input.
Garret Rieger 985b19f6 2022-09-07T22:21:16 [repacker] begin implementing a fuzzer for the repacker api.
Garret Rieger dd1ba328 2022-11-21T23:20:59 [repacker] fix fuzzer timeout. For https://oss-fuzz.com/testcase-detail/5845846876356608. Only process the set of unique overflows.
Behdad Esfahbod e854739b 2022-10-26T13:12:56 [fuzzing] Add test font for previous commit
Qunxin Liu 7fde6ab0 2022-08-05T13:33:22 fuzzer fix: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=49790
Khaled Hosny afe6629b 2022-08-03T19:56:29 Fix make dist
Behdad Esfahbod e68e874d 2022-08-03T11:31:04 Update test/fuzzing/README
Behdad Esfahbod bdbb8c29 2022-07-29T12:04:28 Add test for previous commit
Behdad Esfahbod e2cc34e1 2022-07-26T12:31:15 [subset/GPOS] Fix a fuzzer timeout test Fixes https://oss-fuzz.com/testcase-detail/5234369031176192
Behdad Esfahbod 4cb83967 2022-07-23T10:59:42 [subset/ClassDefFormat2] Fix timeout Fixes https://oss-fuzz.com/testcase-detail/5417800474165248
Behdad Esfahbod 32c85b8c 2022-07-23T10:50:26 [avar2] Fix mapping when coords length don't match Ouch. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=49407
Behdad Esfahbod 9eab3ac7 2022-07-21T12:35:19 [CoverageFormat2] Remove hand-written loop While on a fuzzer-found test case (added) that loop was faster, on real fonts, including NotoNastaliq in our benchmark, it was actually slower, which intuitively I would have expected. Still no idea why on that fuzzer case it's faster though. :(
Behdad Esfahbod 3c84aa84 2022-07-18T13:57:59 [cff] Add a max work counter Set to 10,000 per interpretation right now. Fixes https://github.com/harfbuzz/harfbuzz/issues/3700 Fixes https://oss-fuzz.com/testcase-detail/5667125715927040
Behdad Esfahbod b8c7c0a0 2022-07-01T12:11:15 [fuzzer] In 50% of runs don't fail the allocator
Garret Rieger 311413f1 2022-06-11T01:05:57 [subset] Fix fuzzer issue. Fixes https://oss-fuzz.com/testcase-detail/5693568490012672. new_index should be set from new_index2 when the entry is present in the map.
Behdad Esfahbod 62e803b3 2022-06-01T07:38:21 [sbix] Limit glyph extents Fixes https://github.com/harfbuzz/harfbuzz/issues/3557
Behdad Esfahbod 5a058ba1 2022-05-31T05:35:17 [shape-fuzzer] Add commented out more buffer-verify option Those currently fail and I've been unable to debug them. I tried two, passing them to hb-shape doesn't reproduce the failure. :(
Behdad Esfahbod 189f6534 2022-02-13T13:22:08 [fuzz-shape] Verify shape output Let the fuzzers loose on shape verify.
Garret Rieger 8f9f0c49 2022-05-10T17:47:08 [subset] Enforce cmap12 group ordering constraints in collect_mapping. Fixes fuzzer issue: https://oss-fuzz.com/testcase-detail/6365271012540416
Garret Rieger b051f3fa 2022-05-05T23:27:34 [subset] Fix cpal subsetting when there are partial palette overlaps. The existing code doesn't correctly handle the case where palettes partially overlap in the color record array. This changes the subsetting to only share entries in the color record array when palettes have the same first color index. Partially overlapping palettes will be converted to disjoint segments in the color record array. Updates one of the color tests to use multiple palettes. Also fixes fuzzer: https://oss-fuzz.com/testcase-detail/5568200165687296.
Behdad Esfahbod ca8a0f3e 2022-05-06T11:54:38 [gvar] Protect against out-of-range access Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=47281 Fixes https://oss-fuzz.com/testcase-detail/5508865908670464
Behdad Esfahbod a665e29e 2022-03-23T17:30:25 [use] Avoid O(n^2) in the machine Fixes https://github.com/harfbuzz/harfbuzz/issues/3502
Behdad Esfahbod 03085132 2022-03-21T18:06:33 [buffer] Fix out-buffer under memory-alloc failure This was broken in July refactoring of the buffer, and exposed to ReverseChainSingleSubstFormat1 in 3807061d634b60bd6235d6e1d8c47a034377f924 Fixes: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=38800 https://bugs.chromium.org/p/chromium/issues/detail?id=1303552
Behdad Esfahbod 151f2058 2022-02-10T16:27:18 [draw] Emit move_to immediately, like other operators
Behdad Esfahbod f1a9a9cc 2022-02-03T14:10:40 [draw-state] Pass state down to callbacks
Behdad Esfahbod 1740916e 2022-02-03T12:50:47 [draw] Remove check for no-op This is unnecessary overhead. Up to rasterizers to handle this. Plus, this throws off point-numbers in uses that rely on it. Disabled one test that broke with this.
Behdad Esfahbod 8b4f4290 2022-02-03T01:14:47 [draw] Virtualize hb_font_draw_glyph() into hb_font_get_glyph_shape() To be implemented in hb-ft.
Behdad Esfahbod 2bed4f46 2022-02-02T21:42:48 [draw] Fix draw signatures
Behdad Esfahbod 08e10966 2022-02-02T19:01:42 [draw-fuzzer] Fix signatures
Behdad Esfahbod e0ac6c58 2022-02-02T18:57:12 Remove remaining traces of HB_EXPERIMENTAL_API
Behdad Esfahbod b263371b 2022-02-12T15:06:47 Merge pull request #3398 from harfbuzz/buffer-verify Add HB_BUFFER_FLAG_VERIFY
Behdad Esfahbod af407dd2 2022-02-12T13:53:16 Add a fuzzer font
Garret Rieger 4e2f409b 2022-01-31T12:20:32 [subset] Don't hold references to members of the active_glyph_stack. These references may get invalidated after the vector for the stack is resized. Fixes: https://oss-fuzz.com/testcase-detail/5422577634377728
Behdad Esfahbod 61856359 2022-01-28T14:07:29 [fuzz] Disable verification for now.
Behdad Esfahbod 6596e42d 2022-01-28T13:55:24 [fuzz] Verify shape results
luz paz e2e30506 2022-01-16T07:00:53 Fix various typos Found via `codespell -q 3 -S ./perf/texts -L actualy,ba,beng,fo,gir,inout,nd,ot,pres,ro,te,teh,timne`