test/fuzzing/hb-draw-fuzzer.cc


Log

Author Commit Date CI Message
Behdad Esfahbod 3c972867 2022-12-22T11:40:06 More s/hb_font_get_glyph_shape/hb_font_draw_glyph/
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
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
Ebrahim Byagowi 057769b1 2020-08-12T02:30:33 [fuzzer] minor
Ebrahim Byagowi c33e8006 2020-07-14T19:29:58 [fuzz] Implement failing allocator
Ebrahim Byagowi 8a5368e2 2020-05-21T07:00:40 [tests] Enable more gid misc calls on draw fuzzer
Ebrahim Byagowi 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.
Ebrahim Byagowi 755a77d6 2020-01-29T22:26:04 Move outline draw API behind HB_EXPERIMENTAL_API directive
Ebrahim Byagowi cb65150f 2020-02-29T16:12:54 [draw] minor
Ebrahim Byagowi 86c40b3a 2020-02-29T14:11:46 [fuzz/draw] Call _get_glyph_extents Other render related APIs also may be added also later such as ot-color and future rendering things.
Ebrahim Byagowi 1b8b8638 2020-02-26T16:36:48 minor
Ebrahim Byagowi 84163c83 2020-02-26T15:58:11 [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.
Ebrahim Byagowi 036d8689 2020-02-24T10:34:51 [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.