Fuzz introspector
For issues and ideas: https://github.com/ossf/fuzz-introspector/issues

Project functions overview

The following table shows data about each function in the project. The functions included in this table correspond to all functions that exist in the executables of the fuzzers. As such, there may be functions that are from third-party libraries.

For further technical details on the meaning of columns in the below table, please see the Glossary .

Func name Functions filename Args Function call depth Reached by Fuzzers Runtime reached by Fuzzers Combined reached by Fuzzers Fuzzers runtime hit Func lines hit % I Count BB Count Cyclomatic complexity Functions reached Reached by functions Accumulated cyclomatic complexity Undiscovered complexity

Fuzzer details

Fuzzer: hb-set-fuzzer

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 330 99.3%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 2 0.60%
All colors 332 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
330 1 LLVMFuzzerTestOneInput call site: 00001 hb_set_intersect

Runtime coverage analysis

Covered functions
2
Functions that are reachable but not covered
468
Reachable functions
471
Percentage of reachable functions covered
0.64%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
../../src/harfbuzz/test/fuzzing/hb-set-fuzzer.cc 2
../../src/harfbuzz/test/fuzzing/hb-fuzzer.hh 1
../../src/harfbuzz/src/hb-set.cc 8
../../src/harfbuzz/src/hb-object.hh 19
../../src/harfbuzz/src/hb-common.cc 4
../../src/harfbuzz/src/failing-alloc.c 5
../../src/harfbuzz/src/hb-set.hh 11
../../src/harfbuzz/src/hb-atomic.hh 18
../../src/harfbuzz/src/hb-bit-set-invertible.hh 14
../../src/harfbuzz/src/hb-bit-set.hh 28
../../src/harfbuzz/src/hb-vector.hh 55
../../src/harfbuzz/src/hb-debug.hh 1
../../src/harfbuzz/src/hb-null.hh 19
../../src/harfbuzz/src/hb-array.hh 11
../../src/harfbuzz/src/hb-algs.hh 21
../../src/harfbuzz/src/hb-bit-page.hh 17
../../src/harfbuzz/src/hb-iter.hh 12
../../src/harfbuzz/src/hb-meta.hh 1
../../src/harfbuzz/src/hb-mutex.hh 3

Fuzzer: hb-repacker-fuzzer

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 2239 42.8%
gold [1:9] 28 0.53%
yellow [10:29] 50 0.95%
greenyellow [30:49] 10 0.19%
lawngreen 50+ 2903 55.5%
All colors 5230 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
102 3773 hb_iter_t , OT::Layout::Common::Coverage::iter_t>, hb_set_t&, $_6 const&, (void*)0>, $_7 const&, (hb_function_sortedness_t)1, (void*)0>, unsigned int>::operator++() & call site: 03773 _ZN2OT6Layout6Common17CoverageFormat2_4INS0_11MediumTypesEE9serializeI13hb_map_iter_tI16hb_filter_iter_tI13hb_zip_iter_tI14hb_iota_iter_tIjjENS1_8Coverage6iter_tEER8hb_set_tRK3$_6LPv0EERK3$_7L24hb_function_sortedness_t1ELSJ_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrSR_18is_sorted_iteratorEvE4typeELSJ_0EEEbP22hb_serialize_context_tSR_
96 4009 hb_array_t ::qsort(int (*)(void const*, void const*)) call site: 04009 _ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tI16hb_filter_iter_tI13hb_zip_iter_tINS2_6iter_tE15hb_range_iter_tIjjEEZN5graph8Coverage15filter_coverageERNSB_24gsubgpos_graph_context_tEjjjEUl9hb_pair_tIjjEE_RK4$_19LPv0EERK3$_6L24hb_function_sortedness_t1ELSL_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrST_18is_sorted_iteratorEvE4typeELSL_0EEEbP22hb_serialize_context_tST_
64 3148 CrapHelper >::get_crap() call site: 03148 _ZN2OT17ClassDefFormat1_3INS_6Layout11MediumTypesEE9serializeI16hb_filter_iter_tI13hb_map_iter_tIS5_IS6_INS1_6Common8Coverage6iter_tEZNK5graph14PairPosFormat211clone_rangeERNSB_15split_context_tEjjEUljE_L24hb_function_sortedness_t1ELPv0EEZNKSB_11clone_rangeESD_jjEUljE0_RK3$_7LSG_0EEZNKSB_11clone_rangeESD_jjEUl9hb_pair_tIjjEE_LSF_1ELSG_0EESL_RK4$_19LSG_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrSW_18is_sorted_iteratorEvE4typeELSG_0EEEbP22hb_serialize_context_tSW_
63 1697 hb_serialize_context_t::check_success(bool, hb_serialize_error_t) call site: 01697 _ZN2OT6Layout6Common17CoverageFormat2_4INS0_10SmallTypesEE9serializeI13hb_map_iter_tI16hb_filter_iter_tI13hb_zip_iter_tINS1_8Coverage6iter_tE15hb_range_iter_tIjjEEZN5graph8Coverage14clone_coverageERNSE_24gsubgpos_graph_context_tEjjjjjEUl9hb_pair_tIjjEE_RK4$_19LPv0EERK3$_6L24hb_function_sortedness_t1ELSO_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrSW_18is_sorted_iteratorEvE4typeELSO_0EEEbP22hb_serialize_context_tSW_
61 3213 OT::ArrayOf , OT::NumType >::operator[](int) call site: 03213 _ZN2OT17ClassDefFormat2_4INS_6Layout11MediumTypesEE9serializeI16hb_filter_iter_tI13hb_map_iter_tIS5_IS6_INS1_6Common8Coverage6iter_tEZNK5graph14PairPosFormat211clone_rangeERNSB_15split_context_tEjjEUljE_L24hb_function_sortedness_t1ELPv0EEZNKSB_11clone_rangeESD_jjEUljE0_RK3$_7LSG_0EEZNKSB_11clone_rangeESD_jjEUl9hb_pair_tIjjEE_LSF_1ELSG_0EESL_RK4$_19LSG_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrSW_18is_sorted_iteratorEvE4typeELSG_0EEEbP22hb_serialize_context_tSW_
55 4184 graph::graph_t::vertex_t::is_shared() const call site: 04184 _ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tI16hb_filter_iter_tI13hb_zip_iter_tINS2_6iter_tE15hb_range_iter_tIjjEEZN5graph20LigatureSubstFormat16shrinkERNSB_24gsubgpos_graph_context_tEjj11hb_vector_tIjLb0EEjEUl9hb_pair_tIjjEE_RK4$_19LPv0EERK3$_6L24hb_function_sortedness_t1ELSN_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrSV_18is_sorted_iteratorEvE4typeELSN_0EEEbP22hb_serialize_context_tSV_
50 4133 hb_iter_t >, graph::Coverage::filter_coverage(graph::gsubgpos_graph_context_t&, unsigned int, unsigned int, unsigned int)::{lambda(hb_pair_t )#1}, $_19 const&, (void*)0>, $_6 const&, (hb_function_sortedness_t)1, ($_19 const&)0>, unsigned int>::operator++() & call site: 04133 _ZN2OT6Layout6Common17CoverageFormat2_4INS0_11MediumTypesEE9serializeI13hb_map_iter_tI16hb_filter_iter_tI13hb_zip_iter_tINS1_8Coverage6iter_tE15hb_range_iter_tIjjEEZN5graph8Coverage15filter_coverageERNSE_24gsubgpos_graph_context_tEjjjEUl9hb_pair_tIjjEE_RK4$_19LPv0EERK3$_6L24hb_function_sortedness_t1ELSO_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrSW_18is_sorted_iteratorEvE4typeELSO_0EEEbP22hb_serialize_context_tSW_
48 2178 hb_filter_iter_t ::item_t>, bool (hb_hashmap_t ::item_t::*)() const, $_19 const&, (void*)0>::__next__() call site: 02178 _ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tI16hb_filter_iter_tI13hb_zip_iter_tINS2_6iter_tE15hb_range_iter_tIjjEEZN5graph14PairPosFormat16shrinkERNSB_24gsubgpos_graph_context_tEjjEUl9hb_pair_tIjjEE_RK4$_19LPv0EERK3$_6L24hb_function_sortedness_t1ELSL_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrST_18is_sorted_iteratorEvE4typeELSL_0EEEbP22hb_serialize_context_tST_
47 3008 hb_iter_t , graph::PairPosFormat2::clone_range(graph::PairPosFormat2::split_context_t&, unsigned int, unsigned int) const::{lambda(unsigned int)#2}, $_7 const&, (hb_function_sortedness_t)0>, graph::PairPosFormat2::clone_range(graph::PairPosFormat2::split_context_t&, unsigned int, unsigned int) const::{lambda(hb_pair_t )#1}, (graph::PairPosFormat2::clone_range(graph::PairPosFormat2::split_context_t&, unsigned int, unsigned int) const::{lambda(unsigned int)#1})1, (hb_function_sortedness_t)0>, hb_filter_iter_t , graph::PairPosFormat2::clone_range(graph::PairPosFormat2::split_context_t&, unsigned int, unsigned int) const::{lambda(unsigned int)#2}, $_7 const&, (hb_function_sortedness_t)0> >::operator++() & call site: 03008 _ZN2OT8ClassDef9serializeI13hb_map_iter_tI16hb_filter_iter_tIS2_INS_6Layout6Common8Coverage6iter_tEZNK5graph14PairPosFormat211clone_rangeERNS9_15split_context_tEjjEUljE_L24hb_function_sortedness_t1ELPv0EEZNKS9_11clone_rangeESB_jjEUljE0_RK3$_7LSE_0EEZNKS9_11clone_rangeESB_jjEUl9hb_pair_tIjjEE_LSD_1ELSE_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrSQ_18is_sorted_iteratorEvE4typeELSE_0EEEbP22hb_serialize_context_tSQ_
34 1846 hb_serialize_context_t::pop_pack(bool) call site: 01846 _ZN12hb_hashmap_tIPKN22hb_serialize_context_t8object_tEjLb0EE6item_t13default_valueILb0ETnPN12hb_enable_ifIXeqT_Lb0EEvE4typeELPv0EEERKjv
34 2831 graph::PairPosFormat2::split_subtables(graph::gsubgpos_graph_context_t&, unsigned int) call site: 02831
33 3378 hb_iter_t , graph::PairPosFormat2::shrink(graph::PairPosFormat2::split_context_t&, unsigned int)::{lambda(unsigned int)#2}, $_7 const&, (hb_function_sortedness_t)0>, $_6 const&, (graph::PairPosFormat2::shrink(graph::PairPosFormat2::split_context_t&, unsigned int)::{lambda(unsigned int)#1})1, (hb_function_sortedness_t)0>, unsigned int>::operator++() & call site: 03378 _ZN2OT8ClassDef9serializeI16hb_filter_iter_tI13hb_map_iter_tINS_6Layout6Common8Coverage6iter_tEZN5graph14PairPosFormat26shrinkERNS9_15split_context_tEjEUljE_L24hb_function_sortedness_t1ELPv0EEZNS9_6shrinkESB_jEUljE0_RK3$_7LSE_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrSM_18is_sorted_iteratorEvE4typeELSE_0EEEbP22hb_serialize_context_tSM_

Runtime coverage analysis

Covered functions
1748
Functions that are reachable but not covered
1569
Reachable functions
5373
Percentage of reachable functions covered
70.8%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
../../src/harfbuzz/test/fuzzing/hb-repacker-fuzzer.cc 6
../../src/harfbuzz/test/fuzzing/hb-fuzzer.hh 1
../../src/harfbuzz/src/hb-subset-serialize.cc 1
../../src/harfbuzz/src/hb-vector.hh 322
../../src/harfbuzz/src/hb-algs.hh 246
../../src/harfbuzz/src/hb-common.cc 4
../../src/harfbuzz/src/failing-alloc.c 5
../../src/harfbuzz/src/hb-null.hh 127
../../src/harfbuzz/src/hb-repacker.hh 9
../../src/harfbuzz/src/graph/graph.hh 99
../../src/harfbuzz/src/OT/Var/VARC/../../../hb-vector.hh 2
../../src/harfbuzz/src/hb-serialize.hh 110
../../src/harfbuzz/src/hb-map.hh 176
../../src/harfbuzz/src/hb-object.hh 31
../../src/harfbuzz/src/hb-atomic.hh 20
../../src/harfbuzz/src/hb-mutex.hh 3
../../src/harfbuzz/src/hb-set.hh 34
../../src/harfbuzz/src/hb-bit-set-invertible.hh 33
../../src/harfbuzz/src/hb-bit-set.hh 44
../../src/harfbuzz/src/hb-debug.hh 4
../../src/harfbuzz/src/hb-bit-page.hh 34
../../src/harfbuzz/src/hb-array.hh 121
../../src/harfbuzz/src/hb-iter.hh 946
../../src/harfbuzz/src/hb-meta.hh 116
../../src/harfbuzz/src/graph/../hb-priority-queue.hh 9
../../src/harfbuzz/src/graph/serialize.hh 13
../../src/harfbuzz/src/graph/gsubgpos-context.cc 2
../../src/harfbuzz/src/graph/../hb-map.hh 4
../../src/harfbuzz/src/graph/../hb-object.hh 2
../../src/harfbuzz/src/graph/gsubgpos-graph.hh 29
../../src/harfbuzz/src/graph/../hb-atomic.hh 2
../../src/harfbuzz/src/graph/../hb-ot-layout-gsubgpos.hh 5
../../src/harfbuzz/src/hb-open-type.hh 90
../../src/harfbuzz/src/OT/Layout/GSUB/../../../hb-ot-layout-common.hh 1
../../src/harfbuzz/src/hb-machinery.hh 4
../../src/harfbuzz/src/graph/pairpos-graph.hh 32
../../src/harfbuzz/src/OT/Layout/GPOS/ValueFormat.hh 2
../../src/harfbuzz/src/graph/split-helpers.hh 4
../../src/harfbuzz/src/graph/gsubgpos-context.hh 2
../../src/harfbuzz/src/graph/coverage-graph.hh 17
../../src/harfbuzz/src/OT/Layout/Common/Coverage.hh 6
../../src/harfbuzz/src/OT/Layout/Common/CoverageFormat1.hh 8
../../src/harfbuzz/src/OT/Layout/Common/CoverageFormat2.hh 8
../../src/harfbuzz/src/OT/Layout/Common/RangeRecord.hh 4
../../src/harfbuzz/src/hb-free-pool.hh 5
../../src/harfbuzz/src/graph/../OT/Layout/Common/Coverage.hh 16
../../src/harfbuzz/src/graph/../OT/Layout/Common/CoverageFormat1.hh 18
../../src/harfbuzz/src/graph/../OT/Layout/Common/CoverageFormat2.hh 18
../../src/harfbuzz/src/OT/Layout/GSUB/../../../OT/Layout/Common/RangeRecord.hh 2
../../src/harfbuzz/src/graph/classdef-graph.hh 13
../../src/harfbuzz/src/hb-ot-layout-common.hh 5
../../src/harfbuzz/src/graph/../OT/Layout/GPOS/ValueFormat.hh 1
../../src/harfbuzz/src/graph/../hb-ot-layout-common.hh 12
../../src/harfbuzz/src/graph/markbasepos-graph.hh 21
../../src/harfbuzz/src/graph/../OT/Layout/GPOS/MarkRecord.hh 1
../../src/harfbuzz/src/graph/ligature-graph.hh 21
../../src/harfbuzz/src/hb-blob.cc 7
../../src/harfbuzz/src/hb-blob.hh 3

Fuzzer: hb-draw-fuzzer

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 1734 28.0%
gold [1:9] 124 2.00%
yellow [10:29] 45 0.72%
greenyellow [30:49] 8 0.12%
lawngreen 50+ 4277 69.1%
All colors 6188 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
40 423 hb_ot_face_t::init0(hb_face_t*) call site: 00423
35 1402 hb_lazy_loader_t ::get_unconst() const call site: 01402 hypotf
35 4431 OT::Layout::GPOS_impl::ValueFormat::sanitize_value(hb_sanitize_context_t*, OT::Layout::GPOS_impl::ValueBase const*, OT::NumType const*) const call site: 04431 _ZN21hb_sanitize_context_t8dispatchIN2OT6DeviceEJEEEDTcl9_dispatchfp_cv11hb_priorityILj16EE_Espclsr3stdE7forwardIT0_Efp0_EEERKT_DpOS5_
32 4995 hb_array_t , void, true> const>::sub_array(unsigned int, unsigned int*) const call site: 04995 _ZorI13hb_map_iter_tIS0_I10hb_array_tIKN2OT8OffsetToINS2_10CaretValueENS2_7NumTypeILb1EtLj2EEEvLb1EEEE12hb_partial_tILj2EPK4$_40PKNS2_8LigGlyphEEL24hb_function_sortedness_t0ELPv0EEZNKSE_14get_lig_caretsEP9hb_font_t14hb_direction_tjRKNS2_18ItemVariationStoreEjPjPiEUlRKS4_E_LSI_0ELSJ_0EE9hb_sink_tIS1_IiEETnPN12hb_enable_ifIXsr17hb_is_iterator_ofIT_NS11_6item_tEEE5valueEvE4typeELSJ_0EEDTclclsr3stdE7forwardIT0_Efp0_Eclsr3stdE7forwardIS11_Efp_EEEOS11_OS16_
25 1345 CrapHelper ::get_crap() call site: 01345 hb_draw_funcs_set_line_to_func
25 5672 hb_atomic_t ::operator hb_face_t::plan_node_t* () const call site: 05672 hb_shape_plan_destroy
18 30 void hb_object_trace (hb_blob_t const*, char const*) call site: 00030 hb_malloc
18 6081 hb_lazy_loader_t , hb_face_t, 30u, AAT::morx_accelerator_t>::do_destroy(AAT::morx_accelerator_t*) call site: 06081 hb_free
15 1461 hb_draw_funcs_t::start_path(void*, hb_draw_state_t&) call site: 01461
15 2114 hb_bit_page_t::elt(unsigned int) call site: 02114
15 4598 OT::Layout::GPOS_impl::CursivePosFormat1::sanitize(hb_sanitize_context_t*) const call site: 04598 _ZN21hb_sanitize_context_t8dispatchIN2OT6Layout9GPOS_impl15EntryExitRecordEJPKNS3_17CursivePosFormat1EEEEDTcl9_dispatchfp_cv11hb_priorityILj16EE_Espclsr3stdE7forwardIT0_Efp0_EEERKT_DpOSA_
15 5438 hb_iter_t , OT::MathGlyphVariantRecord const&>::_end() const call site: 05438

Runtime coverage analysis

Covered functions
5837
Functions that are reachable but not covered
1002
Reachable functions
7170
Percentage of reachable functions covered
86.03%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
../../src/harfbuzz/test/fuzzing/hb-draw-fuzzer.cc 7
../../src/harfbuzz/test/fuzzing/hb-fuzzer.hh 1
../../src/harfbuzz/src/hb-blob.cc 11
../../src/harfbuzz/src/hb-null.hh 277
../../src/harfbuzz/src/hb-object.hh 69
../../src/harfbuzz/src/hb-common.cc 4
../../src/harfbuzz/src/failing-alloc.c 5
../../src/harfbuzz/src/hb-blob.hh 56
../../src/harfbuzz/src/hb-atomic.hh 146
../../src/harfbuzz/src/hb-debug.hh 2
../../src/harfbuzz/src/hb-algs.hh 91
../../src/harfbuzz/src/hb-vector.hh 241
../../src/harfbuzz/src/hb-mutex.hh 3
../../src/harfbuzz/src/hb-face.cc 15
../../src/harfbuzz/src/hb-sanitize.hh 380
../../src/harfbuzz/src/hb-dispatch.hh 1
../../src/harfbuzz/src/hb-open-file.hh 24
../../src/harfbuzz/src/hb-open-type.hh 348
../../src/harfbuzz/src/hb-machinery.hh 597
../../src/harfbuzz/src/hb-face.hh 5
../../src/harfbuzz/src/hb-shaper.hh 6
../../src/harfbuzz/src/hb-shaper-list.hh 12
../../src/harfbuzz/src/hb-ot-face.hh 1
../../src/harfbuzz/src/hb-ot-face.cc 2
../../src/harfbuzz/src/hb-array.hh 163
../../src/harfbuzz/src/hb-iter.hh 226
../../src/harfbuzz/src/hb-meta.hh 19
../../src/harfbuzz/src/hb-font.cc 23
../../src/harfbuzz/src/hb-font.hh 33
../../src/harfbuzz/src/hb-static.cc 4
../../src/harfbuzz/src/OT/glyf/loca.hh 1
../../src/harfbuzz/src/OT/glyf/../../hb-ot-maxp-table.hh 4
../../src/harfbuzz/src/OT/glyf/../../hb-ot-head-table.hh 2
../../src/harfbuzz/src/hb-ot-var-fvar-table.hh 10
../../src/harfbuzz/src/hb-ot-var.cc 3
../../src/harfbuzz/src/hb-ot-var-avar-table.hh 4
../../src/harfbuzz/src/OT/Color/CBDT/../../../hb-open-type.hh 84
../../src/harfbuzz/src/OT/Color/CBDT/../../../hb-sanitize.hh 154
../../src/harfbuzz/src/OT/Color/COLR/../../../hb-ot-layout-common.hh 12
../../src/harfbuzz/src/OT/Color/CBDT/../../../hb-machinery.hh 92
../../src/harfbuzz/src/hb-ot-layout-common.hh 64
../../src/harfbuzz/src/OT/Var/VARC/../../../hb-vector.hh 2
../../src/harfbuzz/src/hb-ot-shape.cc 3
../../src/harfbuzz/src/hb-fallback-shape.cc 2
../../src/harfbuzz/src/hb-draw.cc 18
../../src/harfbuzz/src/hb-draw.hh 8
../../src/harfbuzz/src/hb-set.cc 3
../../src/harfbuzz/src/hb-set.hh 8
../../src/harfbuzz/src/hb-bit-set-invertible.hh 6
../../src/harfbuzz/src/hb-bit-set.hh 19
../../src/harfbuzz/src/hb-outline.hh 4
../../src/harfbuzz/src/hb-outline.cc 13
../../src/harfbuzz/src/hb-paint-extents.hh 11
../../src/harfbuzz/src/hb-geometry.hh 12
../../src/harfbuzz/src/hb-paint-extents.cc 15
../../src/harfbuzz/src/hb-paint.cc 20
../../src/harfbuzz/src/hb-paint.hh 4
../../src/harfbuzz/src/OT/Var/VARC/../../../hb-geometry.hh 4
../../src/harfbuzz/src/OT/Var/VARC/../../../hb-algs.hh 10
../../src/harfbuzz/src/hb-ot-cmap-table.hh 38
../../src/harfbuzz/src/hb-cache.hh 4
../../src/harfbuzz/src/hb-ot-os2-table.hh 5
../../src/harfbuzz/src/hb-ot-shaper-arabic-pua.hh 4
../../src/harfbuzz/src/hb-bit-page.hh 13
../../src/harfbuzz/src/hb-ot-color.cc 7
../../src/harfbuzz/src/OT/Color/COLR/../CPAL/CPAL.hh 11
../../src/harfbuzz/src/OT/Color/CBDT/../../../hb-blob.hh 37
../../src/harfbuzz/src/OT/Color/COLR/COLR.hh 72
../../src/harfbuzz/src/OT/Color/COLR/../../../hb-paint-bounded.hh 1
../../src/harfbuzz/src/OT/Color/svg/svg.hh 9
../../src/harfbuzz/src/OT/Color/sbix/sbix.hh 12
../../src/harfbuzz/src/OT/Color/CBDT/CBDT.hh 23
../../src/harfbuzz/src/hb-ot-layout.cc 4
../../src/harfbuzz/src/OT/Layout/GDEF/GDEF.hh 29
../../src/harfbuzz/src/OT/Layout/Common/CoverageFormat1.hh 6
../../src/harfbuzz/src/OT/Layout/Common/CoverageFormat2.hh 6
../../src/harfbuzz/src/OT/Layout/GSUB/GSUB.hh 3
../../src/harfbuzz/src/OT/Layout/GPOS/../../../hb-ot-layout-gsubgpos.hh 44
../../src/harfbuzz/src/OT/Layout/GSUB/SubstLookup.hh 1
../../src/harfbuzz/src/OT/Layout/GSUB/SubstLookupSubTable.hh 1
../../src/harfbuzz/src/OT/Layout/GSUB/SingleSubst.hh 1
../../src/harfbuzz/src/OT/Layout/GSUB/SingleSubstFormat1.hh 2
../../src/harfbuzz/src/OT/Var/VARC/../../../hb-open-type.hh 10
../../src/harfbuzz/src/OT/Var/VARC/../../../hb-null.hh 4
../../src/harfbuzz/src/OT/Layout/Common/Coverage.hh 2
../../src/harfbuzz/src/OT/Layout/Common/RangeRecord.hh 4
../../src/harfbuzz/src/OT/Layout/GSUB/SingleSubstFormat2.hh 2
../../src/harfbuzz/src/OT/Layout/GSUB/MultipleSubst.hh 1
../../src/harfbuzz/src/OT/Layout/GSUB/MultipleSubstFormat1.hh 2
../../src/harfbuzz/src/OT/Layout/GSUB/Sequence.hh 2
../../src/harfbuzz/src/OT/Layout/GSUB/AlternateSubst.hh 1
../../src/harfbuzz/src/OT/Layout/GSUB/AlternateSubstFormat1.hh 2
../../src/harfbuzz/src/OT/Layout/GSUB/AlternateSet.hh 2
../../src/harfbuzz/src/OT/Layout/GSUB/LigatureSubst.hh 1
../../src/harfbuzz/src/OT/Layout/GSUB/LigatureSubstFormat1.hh 2
../../src/harfbuzz/src/OT/Layout/GSUB/LigatureSet.hh 2
../../src/harfbuzz/src/OT/Layout/GSUB/Ligature.hh 2
../../src/harfbuzz/src/OT/Layout/GSUB/ReverseChainSingleSubst.hh 1
../../src/harfbuzz/src/OT/Layout/GSUB/ReverseChainSingleSubstFormat1.hh 1
../../src/harfbuzz/src/OT/Layout/GPOS/GPOS.hh 3
../../src/harfbuzz/src/OT/Layout/GPOS/PosLookup.hh 1
../../src/harfbuzz/src/OT/Layout/GPOS/PosLookupSubTable.hh 1
../../src/harfbuzz/src/OT/Layout/GPOS/SinglePos.hh 1
../../src/harfbuzz/src/OT/Layout/GPOS/SinglePosFormat1.hh 1
../../src/harfbuzz/src/OT/Layout/GPOS/ValueFormat.hh 8
../../src/harfbuzz/src/OT/Layout/GPOS/SinglePosFormat2.hh 1
../../src/harfbuzz/src/OT/Layout/GPOS/PairPos.hh 1
../../src/harfbuzz/src/OT/Layout/GPOS/PairPosFormat1.hh 2
../../src/harfbuzz/src/OT/Layout/GPOS/PairSet.hh 4
../../src/harfbuzz/src/OT/Layout/GPOS/PairPosFormat2.hh 2
../../src/harfbuzz/src/OT/Layout/GPOS/CursivePos.hh 1
../../src/harfbuzz/src/OT/Layout/GPOS/CursivePosFormat1.hh 2
../../src/harfbuzz/src/OT/Layout/GPOS/Anchor.hh 1
../../src/harfbuzz/src/OT/Layout/GPOS/AnchorFormat1.hh 1
../../src/harfbuzz/src/OT/Layout/GPOS/AnchorFormat2.hh 1
../../src/harfbuzz/src/OT/Layout/GPOS/AnchorFormat3.hh 1
../../src/harfbuzz/src/OT/Layout/GPOS/MarkBasePos.hh 1
../../src/harfbuzz/src/OT/Layout/GPOS/MarkBasePosFormat1.hh 2
../../src/harfbuzz/src/OT/Layout/GPOS/MarkArray.hh 1
../../src/harfbuzz/src/OT/Layout/GPOS/MarkRecord.hh 1
../../src/harfbuzz/src/OT/Layout/GPOS/AnchorMatrix.hh 1
../../src/harfbuzz/src/OT/Layout/GPOS/MarkLigPos.hh 1
../../src/harfbuzz/src/OT/Layout/GPOS/MarkLigPosFormat1.hh 2
../../src/harfbuzz/src/OT/Layout/GPOS/MarkMarkPos.hh 1
../../src/harfbuzz/src/OT/Layout/GPOS/MarkMarkPosFormat1.hh 2
../../src/harfbuzz/src/OT/Var/VARC/../../../hb-machinery.hh 1
../../src/harfbuzz/src/hb-set-digest.hh 9
../../src/harfbuzz/src/OT/Var/VARC/../../../hb-array.hh 22
../../src/harfbuzz/src/OT/Var/VARC/../../../OT/Layout/Common/Coverage.hh 1
../../src/harfbuzz/src/OT/Var/VARC/../../../OT/Layout/Common/CoverageFormat1.hh 2
../../src/harfbuzz/src/OT/Var/VARC/../../../OT/Layout/Common/CoverageFormat2.hh 2
../../src/harfbuzz/src/OT/Var/VARC/../../../OT/Layout/Common/RangeRecord.hh 4
../../src/harfbuzz/src/hb-ot-math.cc 6
../../src/harfbuzz/src/hb-ot-math-table.hh 35
../../src/harfbuzz/src/hb-shape-plan.cc 1
../../src/harfbuzz/src/hb-shape-plan.hh 2
../../src/harfbuzz/src/hb-ot-shape.hh 1
../../src/harfbuzz/src/hb-ot-map.hh 2
../../src/harfbuzz/src/hb-aat-map.hh 1
../../src/harfbuzz/src/OT/glyf/../../hb-ot-hmtx-table.hh 4
../../src/harfbuzz/src/hb-ot-post-table.hh 2
../../src/harfbuzz/src/OT/name/name.hh 2
../../src/harfbuzz/src/hb-ot-meta-table.hh 2
../../src/harfbuzz/src/OT/glyf/glyf.hh 1
../../src/harfbuzz/src/OT/glyf/../../hb-ot-var-gvar-table.hh 5
../../src/harfbuzz/src/hb-subset-plan.hh 1
../../src/harfbuzz/src/hb-ot-cff1-table.hh 8
../../src/harfbuzz/src/hb-cff-interp-dict-common.hh 7
../../src/harfbuzz/src/hb-cff-interp-common.hh 5
../../src/harfbuzz/src/hb-ot-cff2-table.hh 8
../../src/harfbuzz/src/OT/Var/VARC/VARC.hh 3
../../src/harfbuzz/src/hb-ot-kern-table.hh 2
../../src/harfbuzz/src/hb-aat-layout-common.hh 1
../../src/harfbuzz/src/hb-aat-layout-kerx-table.hh 4
../../src/harfbuzz/src/hb-aat-layout-morx-table.hh 6

Fuzzer: hb-shape-fuzzer

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 3071 20.1%
gold [1:9] 265 1.73%
yellow [10:29] 238 1.55%
greenyellow [30:49] 103 0.67%
lawngreen 50+ 11581 75.9%
All colors 15258 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
115 3428 hb_ot_tags_from_complex_language(char const*, char const*, unsigned int*, unsigned int*) call site: 03428 strncmp
114 14417 hb_ot_metrics_get_variation call site: 14417 hb_ot_metrics_get_variation
42 14590 hb_lazy_loader_t , hb_face_t, 7u, OT::post_accelerator_t>::get() const call site: 14590 hb_ot_metrics_get_variation
40 423 hb_ot_face_t::init0(hb_face_t*) call site: 00423
40 11324 hb_buffer_t::verify(hb_buffer_t*, hb_font_t*, hb_feature_t const*, unsigned int, char const* const*) call site: 11324 hb_shape_full
34 10979 hb_lazy_loader_t ::get_unconst() const call site: 10979 hypotf
31 10940 CrapHelper ::get_crap() call site: 10940 hb_draw_funcs_set_line_to_func
28 13434 OT::OffsetTo , void, true>::operator()(void const*) const call site: 13434 _ZNK4$_20clIRZNK2OT8LigGlyph14get_lig_caretsEP9hb_font_t14hb_direction_tjRKNS1_18ItemVariationStoreEjPjPiEUlRKNS1_10CaretValueEE_SD_EEDTcl4implclsr3stdE7forwardIT_Efp_Eclsr3stdE7forwardIT0_Efp0_Ecv11hb_priorityILj16EE_EEEOSG_OSH_
26 2505 OT::Device::sanitize(hb_sanitize_context_t*) const call site: 02505 _ZN21hb_sanitize_context_t8dispatchIN2OT6DeviceEJEEEDTcl9_dispatchfp_cv11hb_priorityILj16EE_Espclsr3stdE7forwardIT0_Efp0_EEERKT_DpOS5_
25 14390 NullHelper ::get_null() call site: 14390 hb_ot_metrics_get_variation
23 13372 hb_iter_t , void, true> const>, OT::OffsetTo , void, true> const&>::operator+() const call site: 13372 _ZorI13hb_map_iter_tIS0_I10hb_array_tIKN2OT8OffsetToINS2_10CaretValueENS2_7NumTypeILb1EtLj2EEEvLb1EEEE12hb_partial_tILj2EPK4$_40PKNS2_8LigGlyphEEL24hb_function_sortedness_t0ELPv0EEZNKSE_14get_lig_caretsEP9hb_font_t14hb_direction_tjRKNS2_18ItemVariationStoreEjPjPiEUlRKS4_E_LSI_0ELSJ_0EE9hb_sink_tIS1_IiEETnPN12hb_enable_ifIXsr17hb_is_iterator_ofIT_NS11_6item_tEEE5valueEvE4typeELSJ_0EEDTclclsr3stdE7forwardIT0_Efp0_Eclsr3stdE7forwardIS11_Efp_EEEOS11_OS16_
22 13311 OT::BASE::get_baseline(hb_font_t*, unsigned int, hb_direction_t, unsigned int, unsigned int, int*) const call site: 13311 _ZN2OTplIPKNS_4BASEETnPN12hb_enable_ifIXsr3std14is_convertibleIKT_PKvEE5valueEvE4typeELPv0EEERKNS_18ItemVariationStoreERS6_RKNS_8OffsetToISD_NS_7NumTypeILb1EjLj4EEEvLb1EEE

Runtime coverage analysis

Covered functions
11780
Functions that are reachable but not covered
1378
Reachable functions
16372
Percentage of reachable functions covered
91.58%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
../../src/harfbuzz/test/fuzzing/hb-shape-fuzzer.cc 1
../../src/harfbuzz/test/fuzzing/hb-fuzzer.hh 1
../../src/harfbuzz/src/hb-blob.cc 11
../../src/harfbuzz/src/hb-null.hh 609
../../src/harfbuzz/src/hb-object.hh 96
../../src/harfbuzz/src/hb-common.cc 16
../../src/harfbuzz/src/failing-alloc.c 5
../../src/harfbuzz/src/hb-blob.hh 108
../../src/harfbuzz/src/hb-atomic.hh 185
../../src/harfbuzz/src/hb-debug.hh 5
../../src/harfbuzz/src/hb-algs.hh 422
../../src/harfbuzz/src/hb-vector.hh 461
../../src/harfbuzz/src/hb-mutex.hh 3
../../src/harfbuzz/src/hb-face.cc 17
../../src/harfbuzz/src/hb-sanitize.hh 611
../../src/harfbuzz/src/hb-dispatch.hh 24
../../src/harfbuzz/src/hb-open-file.hh 24
../../src/harfbuzz/src/hb-open-type.hh 922
../../src/harfbuzz/src/hb-machinery.hh 919
../../src/harfbuzz/src/hb-face.hh 5
../../src/harfbuzz/src/hb-shaper.hh 6
../../src/harfbuzz/src/hb-shaper-list.hh 16
../../src/harfbuzz/src/hb-ot-face.hh 1
../../src/harfbuzz/src/hb-ot-face.cc 2
../../src/harfbuzz/src/hb-array.hh 417
../../src/harfbuzz/src/hb-iter.hh 860
../../src/harfbuzz/src/hb-meta.hh 133
../../src/harfbuzz/src/hb-font.cc 28
../../src/harfbuzz/src/hb-font.hh 57
../../src/harfbuzz/src/hb-static.cc 4
../../src/harfbuzz/src/OT/glyf/loca.hh 1
../../src/harfbuzz/src/OT/glyf/../../hb-ot-maxp-table.hh 4
../../src/harfbuzz/src/OT/glyf/../../hb-ot-head-table.hh 2
../../src/harfbuzz/src/hb-ot-var-fvar-table.hh 14
../../src/harfbuzz/src/hb-ot-var.cc 6
../../src/harfbuzz/src/hb-ot-var-avar-table.hh 4
../../src/harfbuzz/src/OT/Color/CBDT/../../../hb-open-type.hh 69
../../src/harfbuzz/src/OT/Color/CBDT/../../../hb-sanitize.hh 136
../../src/harfbuzz/src/OT/Color/COLR/../../../hb-ot-layout-common.hh 5
../../src/harfbuzz/src/hb-ot-layout-common.hh 126
../../src/harfbuzz/src/OT/Var/VARC/../../../hb-vector.hh 2
../../src/harfbuzz/src/hb-ot-shape.cc 39
../../src/harfbuzz/src/hb-fallback-shape.cc 5
../../src/harfbuzz/src/hb-buffer.cc 44
../../src/harfbuzz/src/hb-buffer.hh 51
../../src/harfbuzz/src/hb-set-digest.hh 15
../../src/harfbuzz/src/hb-unicode.cc 13
../../src/harfbuzz/src/hb-ucd.cc 13
../../src/harfbuzz/src/hb-unicode.hh 11
../../src/harfbuzz/src/hb-ucd-table.hh 6
../../src/harfbuzz/src/hb-utf.hh 6
../../src/harfbuzz/src/hb-shape.cc 2
../../src/harfbuzz/src/hb-shape-plan.cc 10
../../src/harfbuzz/src/hb-ot-shape.hh 5
../../src/harfbuzz/src/hb-ot-layout.cc 42
../../src/harfbuzz/src/OT/Layout/GSUB/GSUB.hh 4
../../src/harfbuzz/src/OT/Layout/GPOS/../../../hb-ot-layout-gsubgpos.hh 517
../../src/harfbuzz/src/OT/Layout/GSUB/SubstLookup.hh 5
../../src/harfbuzz/src/OT/Layout/GSUB/SubstLookupSubTable.hh 2
../../src/harfbuzz/src/OT/Layout/GSUB/SingleSubst.hh 2
../../src/harfbuzz/src/OT/Layout/GSUB/SingleSubstFormat1.hh 8
../../src/harfbuzz/src/OT/Layout/Common/CoverageFormat1.hh 8
../../src/harfbuzz/src/OT/Layout/Common/CoverageFormat2.hh 8
../../src/harfbuzz/src/OT/Layout/Common/Coverage.hh 5
../../src/harfbuzz/src/OT/Layout/Common/RangeRecord.hh 8
../../src/harfbuzz/src/OT/Layout/GSUB/SingleSubstFormat2.hh 6
../../src/harfbuzz/src/OT/Layout/GSUB/MultipleSubst.hh 2
../../src/harfbuzz/src/OT/Layout/GSUB/MultipleSubstFormat1.hh 6
../../src/harfbuzz/src/OT/Layout/GSUB/Sequence.hh 4
../../src/harfbuzz/src/OT/Layout/GSUB/AlternateSubst.hh 2
../../src/harfbuzz/src/OT/Layout/GSUB/AlternateSubstFormat1.hh 6
../../src/harfbuzz/src/OT/Layout/GSUB/AlternateSet.hh 4
../../src/harfbuzz/src/OT/Layout/GSUB/LigatureSubst.hh 2
../../src/harfbuzz/src/OT/Layout/GSUB/LigatureSubstFormat1.hh 10
../../src/harfbuzz/src/OT/Layout/GSUB/LigatureSet.hh 8
../../src/harfbuzz/src/OT/Layout/GSUB/Ligature.hh 6
../../src/harfbuzz/src/OT/Layout/GSUB/ReverseChainSingleSubst.hh 2
../../src/harfbuzz/src/OT/Layout/GSUB/ReverseChainSingleSubstFormat1.hh 3
../../src/harfbuzz/src/OT/Layout/GPOS/GPOS.hh 8
../../src/harfbuzz/src/OT/Layout/GPOS/PosLookup.hh 3
../../src/harfbuzz/src/OT/Layout/GPOS/PosLookupSubTable.hh 2
../../src/harfbuzz/src/OT/Layout/GPOS/SinglePos.hh 2
../../src/harfbuzz/src/OT/Layout/GPOS/SinglePosFormat1.hh 3
../../src/harfbuzz/src/OT/Layout/GPOS/ValueFormat.hh 11
../../src/harfbuzz/src/OT/Layout/GPOS/SinglePosFormat2.hh 3
../../src/harfbuzz/src/OT/Layout/GPOS/PairPos.hh 2
../../src/harfbuzz/src/OT/Layout/GPOS/PairPosFormat1.hh 8
../../src/harfbuzz/src/OT/Layout/GPOS/PairSet.hh 6
../../src/harfbuzz/src/OT/Layout/GPOS/PairPosFormat2.hh 8
../../src/harfbuzz/src/OT/Layout/GPOS/CursivePos.hh 2
../../src/harfbuzz/src/OT/Layout/GPOS/CursivePosFormat1.hh 5
../../src/harfbuzz/src/OT/Layout/GPOS/Anchor.hh 2
../../src/harfbuzz/src/OT/Layout/GPOS/AnchorFormat1.hh 2
../../src/harfbuzz/src/OT/Layout/GPOS/AnchorFormat2.hh 2
../../src/harfbuzz/src/OT/Layout/GPOS/AnchorFormat3.hh 2
../../src/harfbuzz/src/OT/Layout/GPOS/MarkBasePos.hh 2
../../src/harfbuzz/src/OT/Layout/GPOS/MarkBasePosFormat1.hh 8
../../src/harfbuzz/src/OT/Layout/GPOS/MarkArray.hh 2
../../src/harfbuzz/src/OT/Layout/GPOS/MarkRecord.hh 1
../../src/harfbuzz/src/OT/Layout/GPOS/AnchorMatrix.hh 2
../../src/harfbuzz/src/OT/Layout/GPOS/MarkLigPos.hh 2
../../src/harfbuzz/src/OT/Layout/GPOS/MarkLigPosFormat1.hh 6
../../src/harfbuzz/src/OT/Layout/GPOS/MarkMarkPos.hh 2
../../src/harfbuzz/src/OT/Layout/GPOS/MarkMarkPosFormat1.hh 6
../../src/harfbuzz/src/OT/Layout/GDEF/GDEF.hh 40
../../src/harfbuzz/src/hb-cache.hh 15
../../src/harfbuzz/src/OT/Var/VARC/../../../hb-open-type.hh 6
../../src/harfbuzz/src/OT/Var/VARC/../../../hb-null.hh 2
../../src/harfbuzz/src/OT/Var/VARC/../../../hb-machinery.hh 1
../../src/harfbuzz/src/hb-shaper.cc 5
../../src/harfbuzz/src/hb-shape-plan.hh 3
../../src/harfbuzz/src/hb-ot-map.hh 21
../../src/harfbuzz/src/hb-aat-map.hh 7
../../src/harfbuzz/src/hb-ot-map.cc 6
../../src/harfbuzz/src/hb-ot-tag.cc 9
../../src/harfbuzz/src/hb-ot-tag-table.hh 1
../../src/harfbuzz/src/hb-aat-layout.cc 18
../../src/harfbuzz/src/hb-aat-layout-morx-table.hh 149
../../src/harfbuzz/src/hb-aat-layout-common.hh 254
../../src/harfbuzz/src/hb-bit-set.hh 34
../../src/harfbuzz/src/hb-ot-shaper.hh 1
../../src/harfbuzz/src/hb-map.hh 20
../../src/harfbuzz/src/hb-aat-map.cc 2
../../src/harfbuzz/src/hb-aat-ltag-table.hh 3
../../src/harfbuzz/src/hb-aat-layout-kerx-table.hh 118
../../src/harfbuzz/src/hb-bit-page.hh 20
../../src/harfbuzz/src/hb-ot-kern-table.hh 41
../../src/harfbuzz/src/hb-aat-layout-trak-table.hh 11
../../src/harfbuzz/src/hb-ot-stat-table.hh 7
../../src/harfbuzz/src/hb-ot-layout.hh 49
../../src/harfbuzz/src/hb-unicode-emoji-table.hh 3
../../src/harfbuzz/src/hb-ot-shape-normalize.cc 10
../../src/harfbuzz/src/hb-ot-shape-normalize.hh 1
../../src/harfbuzz/src/hb-ot-shape-fallback.cc 11
../../src/harfbuzz/src/hb-aat-layout-feat-table.hh 17
../../src/harfbuzz/src/hb-aat-layout.hh 1
../../src/harfbuzz/src/hb-ot-layout-gsub-table.hh 2
../../src/harfbuzz/src/hb-ot-layout-gpos-table.hh 1
../../src/harfbuzz/src/OT/Layout/GPOS/PairValueRecord.hh 2
../../src/harfbuzz/src/hb-aat-layout-ankr-table.hh 2
../../src/harfbuzz/src/hb-kern.hh 20
../../src/harfbuzz/src/hb-paint-extents.hh 11
../../src/harfbuzz/src/hb-geometry.hh 12
../../src/harfbuzz/src/hb-paint-extents.cc 15
../../src/harfbuzz/src/hb-paint.cc 20
../../src/harfbuzz/src/hb-paint.hh 4
../../src/harfbuzz/src/OT/Var/VARC/../../../hb-geometry.hh 4
../../src/harfbuzz/src/hb-draw.cc 18
../../src/harfbuzz/src/hb-draw.hh 8
../../src/harfbuzz/src/hb-outline.hh 4
../../src/harfbuzz/src/hb-outline.cc 13
../../src/harfbuzz/src/OT/Var/VARC/../../../hb-algs.hh 2
../../src/harfbuzz/src/hb-buffer-verify.cc 5
../../src/harfbuzz/src/hb-buffer-serialize.cc 3
../../src/harfbuzz/test/fuzzing/../api/test-ot-face.c 1
../../src/harfbuzz/src/hb-set.cc 4
../../src/harfbuzz/src/hb-set.hh 10
../../src/harfbuzz/src/hb-bit-set-invertible.hh 8
../../src/harfbuzz/src/hb-ot-cmap-table.hh 53
../../src/harfbuzz/src/hb-ot-os2-table.hh 10
../../src/harfbuzz/src/hb-ot-shaper-arabic-pua.hh 4
../../src/harfbuzz/src/hb-ot-color.cc 12
../../src/harfbuzz/src/OT/Color/CBDT/../../../hb-machinery.hh 87
../../src/harfbuzz/src/OT/Color/COLR/../CPAL/CPAL.hh 13
../../src/harfbuzz/src/OT/Color/CBDT/../../../hb-blob.hh 37
../../src/harfbuzz/src/OT/Color/COLR/COLR.hh 73
../../src/harfbuzz/src/OT/Color/COLR/../../../hb-paint-bounded.hh 1
../../src/harfbuzz/src/OT/Color/svg/svg.hh 11
../../src/harfbuzz/src/OT/Color/CBDT/CBDT.hh 23
../../src/harfbuzz/src/OT/Color/sbix/sbix.hh 12
../../src/harfbuzz/src/hb-map.cc 4
../../src/harfbuzz/src/hb-ot-layout-base-table.hh 29
../../src/harfbuzz/src/hb-ot-math.cc 10
../../src/harfbuzz/src/hb-ot-math-table.hh 45
../../src/harfbuzz/src/hb-ot-meta.cc 2
../../src/harfbuzz/src/hb-ot-meta-table.hh 11
../../src/harfbuzz/src/hb-ot-metrics.cc 6
../../src/harfbuzz/src/hb-ot-var-mvar-table.hh 3
../../src/harfbuzz/src/OT/glyf/../../hb-ot-hhea-table.hh 2
../../src/harfbuzz/src/hb-ot-hhea-table.hh 2
../../src/harfbuzz/src/hb-ot-post-table.hh 7
../../src/harfbuzz/src/hb-ot-name.cc 7
../../src/harfbuzz/src/OT/name/../../hb-machinery.hh 10
../../src/harfbuzz/src/OT/name/name.hh 19
../../src/harfbuzz/src/OT/name/../../hb-blob.hh 7
../../src/harfbuzz/src/OT/name/../../hb-sanitize.hh 8
../../src/harfbuzz/src/OT/name/../../hb-open-type.hh 4
../../src/harfbuzz/src/hb-ot-name-language-static.hh 4
../../src/harfbuzz/src/OT/name/../../hb-utf.hh 8
../../src/harfbuzz/src/OT/glyf/../../hb-ot-hmtx-table.hh 4
../../src/harfbuzz/src/OT/glyf/glyf.hh 1
../../src/harfbuzz/src/OT/glyf/../../hb-ot-var-gvar-table.hh 5
../../src/harfbuzz/src/hb-subset-plan.hh 1
../../src/harfbuzz/src/hb-ot-cff1-table.hh 8
../../src/harfbuzz/src/hb-cff-interp-dict-common.hh 7
../../src/harfbuzz/src/hb-cff-interp-common.hh 5
../../src/harfbuzz/src/hb-ot-cff2-table.hh 8
../../src/harfbuzz/src/OT/Var/VARC/VARC.hh 3

Fuzzer: hb-subset-fuzzer

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 11605 25.8%
gold [1:9] 538 1.19%
yellow [10:29] 576 1.28%
greenyellow [30:49] 602 1.34%
lawngreen 50+ 31515 70.2%
All colors 44836 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
247 18806 cff2_path_procs_extents_t::curve(CFF::cff2_cs_interp_env_t &, cff2_extents_param_t&, CFF::point_t const&, CFF::point_t const&, CFF::point_t const&) call site: 18806
126 19423 hb_hashmap_t , false>::alloc(unsigned int) call site: 19423
116 18688 CFF::biased_subrs_t > >::operator[](unsigned int) const call site: 18688
70 19685 _get_table_tags(hb_subset_plan_t const*, unsigned int, unsigned int*, unsigned int*) call site: 19685 _ZorIN23hb_bit_set_invertible_t6iter_tE24hb_filter_iter_factory_tIZL15_get_table_tagsPK16hb_subset_plan_tjPjS6_E3$_2RK4$_22ETnPN12hb_enable_ifIXsr17hb_is_iterator_ofIT_NSD_6item_tEEE5valueEvE4typeELPv0EEDTclclsr3stdE7forwardIT0_Efp0_Eclsr3stdE7forwardISD_Efp_EEEOSD_OSJ_
63 25779 hb_iter_t , OT::Layout::Common::Coverage::iter_t>, hb_set_t&, $_6 const&, (void*)0>, $_7 const&, (hb_function_sortedness_t)1, (void*)0>, unsigned int>::operator++() & call site: 25779 _ZN2OT6Layout6Common17CoverageFormat2_4INS0_11MediumTypesEE9serializeI13hb_map_iter_tI16hb_filter_iter_tI13hb_zip_iter_tI14hb_iota_iter_tIjjENS1_8Coverage6iter_tEER8hb_set_tRK3$_6LPv0EERK3$_7L24hb_function_sortedness_t1ELSJ_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrSR_18is_sorted_iteratorEvE4typeELSJ_0EEEbP22hb_serialize_context_tSR_
63 44504 hb_table_lazy_loader_t ::convert(hb_blob_t const*) call site: 44504 hb_blob_copy_writable_or_fail
59 38985 cff2_private_dict_op_serializer_t::serialize(hb_serialize_context_t*, CFF::op_str_t const&, unsigned int) const call site: 38985 newlocale
57 21112 hb_vector_t const*, false>::resize_full(int, bool, bool) call site: 21112 _ZNK3$_44implIiTnPN12hb_enable_ifIXaasr3std11is_integralIT_EE5valuelestS2_Lm4EEvE4typeELPv0EEEN10_hb_head_tIjJDTmlcvjfp_Lj2654435761EEEE4typeERKS2_11hb_priorityILj1EE
54 21312 hb_vector_t , false>::resize_full(int, bool, bool) call site: 21312 _ZN11hb_vector_tIhLb0EE10copy_arrayIhTnPN12hb_enable_ifIXsr3std21is_trivially_copyableIT_EE5valueEvE4typeELPv0EEEv10hb_array_tIKhE
52 25843 hb_vector_t graph::actuate_subtable_split (graph::MarkBasePosFormat1::split_context_t&, hb_vector_t const&) call site: 25843 _ZorI13hb_zip_iter_tI14hb_iota_iter_tIjjEN2OT6Layout6Common8Coverage6iter_tEE24hb_filter_iter_factory_tIR8hb_set_tRK3$_6ETnPN12hb_enable_ifIXsr17hb_is_iterator_ofIT_NSH_6item_tEEE5valueEvE4typeELPv0EEDTclclsr3stdE7forwardIT0_Efp0_Eclsr3stdE7forwardISH_Efp_EEEOSH_OSN_
41 43906 _ZNK2OT14EncodingRecord4copyI16hb_filter_iter_tI17hb_sorted_array_tIK9hb_pair_tIjjEEZNKS_4cmap6subsetEP19hb_subset_context_tEUlS5_E_RK4$_19LPv0EETnPN12hb_enable_ifIXsr17hb_is_iterator_ofIT_NSI_6item_tEEE5valueEvE4typeELSF_0EEEPS0_P22hb_serialize_context_tSI_jPKvPK16hb_subset_plan_tPj call site: 43906 _ZN2OT19CmapSubtableFormat49serializeI16hb_filter_iter_tI17hb_sorted_array_tIK9hb_pair_tIjjEEZNKS_4cmap6subsetEP19hb_subset_context_tEUlS5_E_RK4$_19LPv0EETnPN12hb_enable_ifIXsr17hb_is_iterator_ofIT_NSI_6item_tEEE5valueEvE4typeELSF_0EEEvP22hb_serialize_context_tSI_
40 423 hb_ot_face_t::init0(hb_face_t*) call site: 00423

Runtime coverage analysis

Covered functions
22215
Functions that are reachable but not covered
6752
Reachable functions
48078
Percentage of reachable functions covered
85.96%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
../../src/harfbuzz/test/fuzzing/hb-subset-fuzzer.cc 2
../../src/harfbuzz/test/fuzzing/hb-fuzzer.hh 1
../../src/harfbuzz/src/hb-blob.cc 15
../../src/harfbuzz/src/hb-null.hh 997
../../src/harfbuzz/src/hb-object.hh 148
../../src/harfbuzz/src/hb-common.cc 4
../../src/harfbuzz/src/failing-alloc.c 5
../../src/harfbuzz/src/hb-blob.hh 279
../../src/harfbuzz/src/hb-atomic.hh 158
../../src/harfbuzz/src/hb-debug.hh 78
../../src/harfbuzz/src/hb-algs.hh 2442
../../src/harfbuzz/src/hb-vector.hh 1527
../../src/harfbuzz/src/hb-mutex.hh 8
../../src/harfbuzz/src/hb-face.cc 19
../../src/harfbuzz/src/hb-sanitize.hh 670
../../src/harfbuzz/src/hb-dispatch.hh 100
../../src/harfbuzz/src/hb-open-file.hh 27
../../src/harfbuzz/src/hb-open-type.hh 1670
../../src/harfbuzz/src/hb-machinery.hh 852
../../src/harfbuzz/src/hb-face.hh 5
../../src/harfbuzz/src/hb-shaper.hh 6
../../src/harfbuzz/src/hb-shaper-list.hh 12
../../src/harfbuzz/src/hb-ot-face.hh 1
../../src/harfbuzz/src/hb-ot-face.cc 2
../../src/harfbuzz/src/hb-array.hh 1047
../../src/harfbuzz/src/hb-iter.hh 8837
../../src/harfbuzz/src/hb-meta.hh 1059
../../src/harfbuzz/src/hb-set.cc 9
../../src/harfbuzz/src/hb-set.hh 53
../../src/harfbuzz/src/hb-bit-set-invertible.hh 46
../../src/harfbuzz/src/hb-bit-set.hh 69
../../src/harfbuzz/src/hb-ot-cmap-table.hh 120
../../src/harfbuzz/src/hb-static.cc 4
../../src/harfbuzz/src/OT/glyf/../../hb-ot-head-table.hh 2
../../src/harfbuzz/src/OT/glyf/loca.hh 1
../../src/harfbuzz/src/OT/glyf/../../hb-ot-maxp-table.hh 8
../../src/harfbuzz/src/hb-cache.hh 5
../../src/harfbuzz/src/hb-ot-os2-table.hh 15
../../src/harfbuzz/src/hb-ot-shaper-arabic-pua.hh 4
../../src/harfbuzz/src/hb-bit-page.hh 44
../../src/harfbuzz/src/hb-subset-input.cc 6
../../src/harfbuzz/src/hb-map.hh 733
../../src/harfbuzz/src/hb-subset-input.hh 8
../../src/harfbuzz/src/hb-cplusplus.hh 28
../../src/harfbuzz/src/hb-shape-plan.cc 1
../../src/harfbuzz/src/hb-shape-plan.hh 2
../../src/harfbuzz/src/hb-ot-shape.hh 1
../../src/harfbuzz/src/hb-ot-shape.cc 3
../../src/harfbuzz/src/hb-ot-map.hh 2
../../src/harfbuzz/src/hb-aat-map.hh 1
../../src/harfbuzz/src/hb-fallback-shape.cc 2
../../src/harfbuzz/src/OT/glyf/../../hb-ot-hmtx-table.hh 28
../../src/harfbuzz/src/hb-ot-post-table.hh 8
../../src/harfbuzz/src/OT/name/name.hh 14
../../src/harfbuzz/src/hb-ot-meta-table.hh 2
../../src/harfbuzz/src/OT/glyf/glyf.hh 11
../../src/harfbuzz/src/OT/glyf/../../hb-ot-var-gvar-table.hh 36
../../src/harfbuzz/src/hb-subset-plan.hh 85
../../src/harfbuzz/src/hb-ot-cff1-table.hh 93
../../src/harfbuzz/src/hb-cff-interp-dict-common.hh 39
../../src/harfbuzz/src/hb-cff-interp-common.hh 129
../../src/harfbuzz/src/hb-ot-cff2-table.hh 46
../../src/harfbuzz/src/OT/Var/VARC/VARC.hh 3
../../src/harfbuzz/src/hb-ot-kern-table.hh 2
../../src/harfbuzz/src/hb-aat-layout-common.hh 1
../../src/harfbuzz/src/hb-aat-layout-kerx-table.hh 4
../../src/harfbuzz/src/OT/Layout/GDEF/GDEF.hh 28
../../src/harfbuzz/src/OT/Layout/GSUB/GSUB.hh 6
../../src/harfbuzz/src/OT/Layout/GPOS/../../../hb-ot-layout-gsubgpos.hh 376
../../src/harfbuzz/src/OT/Layout/GPOS/GPOS.hh 7
../../src/harfbuzz/src/hb-aat-layout-morx-table.hh 6
../../src/harfbuzz/src/OT/Color/COLR/COLR.hh 285
../../src/harfbuzz/src/hb-paint-extents.hh 1
../../src/harfbuzz/src/OT/Color/COLR/../../../hb-paint-bounded.hh 1
../../src/harfbuzz/src/OT/Color/CBDT/CBDT.hh 39
../../src/harfbuzz/src/OT/Color/sbix/sbix.hh 10
../../src/harfbuzz/src/OT/Color/svg/svg.hh 2
../../src/harfbuzz/src/hb-subset.cc 12
../../src/harfbuzz/src/hb-subset-plan.cc 33
../../src/harfbuzz/src/OT/Var/VARC/../../../hb-vector.hh 16
../../src/harfbuzz/src/hb-face-builder.cc 10
../../src/harfbuzz/src/hb-serialize.hh 1369
../../src/harfbuzz/src/hb-free-pool.hh 5
../../src/harfbuzz/src/hb-map.cc 4
../../src/harfbuzz/src/hb-subset-instancer-solver.hh 10
../../src/harfbuzz/src/hb-subset-accelerator.hh 5
../../src/harfbuzz/src/hb-subset-plan-var.cc 8
../../src/harfbuzz/src/hb-ot-var-fvar-table.hh 24
../../src/harfbuzz/src/hb-ot-var-avar-table.hh 18
../../src/harfbuzz/src/hb-ot-layout-common.hh 106
../../src/harfbuzz/src/OT/Layout/GDEF/../../../hb-ot-layout-common.hh 91
../../src/harfbuzz/src/OT/Var/VARC/../../../hb-algs.hh 4
../../src/harfbuzz/src/OT/Var/VARC/../../../hb-null.hh 8
../../src/harfbuzz/src/hb-unicode.cc 13
../../src/harfbuzz/src/hb-ucd.cc 13
../../src/harfbuzz/src/hb-unicode.hh 3
../../src/harfbuzz/src/hb-ucd-table.hh 6
../../src/harfbuzz/src/hb-multimap.hh 6
../../src/harfbuzz/src/OT/glyf/../../hb-ot-var-hvar-table.hh 3
../../src/harfbuzz/src/OT/glyf/../../hb-ot-hhea-table.hh 2
../../src/harfbuzz/src/hb-ot-cff-common.hh 57
../../src/harfbuzz/src/hb-number.cc 1
hb-number-parser.rl 2
../../src/harfbuzz/src/hb-subset-cff-common.hh 98
../../src/harfbuzz/src/hb-subset-plan-layout.cc 11
../../src/harfbuzz/src/OT/Layout/GSUB/SubstLookup.hh 11
../../src/harfbuzz/src/OT/Layout/GSUB/SubstLookupSubTable.hh 5
../../src/harfbuzz/src/OT/Layout/GSUB/SingleSubst.hh 5
../../src/harfbuzz/src/OT/Layout/GSUB/SingleSubstFormat1.hh 14
../../src/harfbuzz/src/OT/Layout/GDEF/../../../OT/Layout/Common/CoverageFormat1.hh 2
../../src/harfbuzz/src/OT/Layout/GDEF/../../../OT/Layout/Common/CoverageFormat2.hh 2
../../src/harfbuzz/src/OT/Layout/Common/Coverage.hh 10
../../src/harfbuzz/src/OT/Layout/Common/CoverageFormat1.hh 16
../../src/harfbuzz/src/OT/Layout/Common/CoverageFormat2.hh 18
../../src/harfbuzz/src/OT/Layout/Common/RangeRecord.hh 10
../../src/harfbuzz/src/OT/Layout/GSUB/SingleSubstFormat2.hh 10
../../src/harfbuzz/src/OT/Layout/GSUB/MultipleSubst.hh 5
../../src/harfbuzz/src/OT/Layout/GSUB/MultipleSubstFormat1.hh 12
../../src/harfbuzz/src/OT/Layout/GSUB/Sequence.hh 4
../../src/harfbuzz/src/OT/Layout/GSUB/AlternateSubst.hh 5
../../src/harfbuzz/src/OT/Layout/GSUB/AlternateSubstFormat1.hh 12
../../src/harfbuzz/src/OT/Layout/GSUB/AlternateSet.hh 4
../../src/harfbuzz/src/OT/Layout/GSUB/LigatureSubst.hh 5
../../src/harfbuzz/src/OT/Layout/GSUB/LigatureSubstFormat1.hh 14
../../src/harfbuzz/src/OT/Layout/GSUB/LigatureSet.hh 10
../../src/harfbuzz/src/OT/Layout/GSUB/Ligature.hh 6
../../src/harfbuzz/src/OT/Layout/GSUB/ReverseChainSingleSubst.hh 5
../../src/harfbuzz/src/OT/Layout/GSUB/ReverseChainSingleSubstFormat1.hh 5
../../src/harfbuzz/src/hb-ot-layout.cc 16
../../src/harfbuzz/src/OT/Layout/GPOS/PosLookup.hh 7
../../src/harfbuzz/src/OT/Layout/GPOS/PosLookupSubTable.hh 4
../../src/harfbuzz/src/OT/Layout/GPOS/SinglePos.hh 4
../../src/harfbuzz/src/OT/Layout/GPOS/SinglePosFormat1.hh 4
../../src/harfbuzz/src/OT/Layout/GPOS/ValueFormat.hh 9
../../src/harfbuzz/src/OT/Layout/GPOS/SinglePosFormat2.hh 4
../../src/harfbuzz/src/OT/Layout/GPOS/PairPos.hh 4
../../src/harfbuzz/src/OT/Layout/GPOS/PairPosFormat1.hh 12
../../src/harfbuzz/src/OT/Layout/GPOS/PairSet.hh 10
../../src/harfbuzz/src/OT/Layout/GPOS/PairPosFormat2.hh 8
../../src/harfbuzz/src/OT/Layout/GPOS/CursivePos.hh 4
../../src/harfbuzz/src/OT/Layout/GPOS/CursivePosFormat1.hh 7
../../src/harfbuzz/src/OT/Layout/GPOS/Anchor.hh 2
../../src/harfbuzz/src/OT/Layout/GPOS/AnchorFormat1.hh 1
../../src/harfbuzz/src/OT/Layout/GPOS/AnchorFormat2.hh 1
../../src/harfbuzz/src/OT/Layout/GPOS/AnchorFormat3.hh 2
../../src/harfbuzz/src/OT/Layout/GPOS/MarkBasePos.hh 4
../../src/harfbuzz/src/OT/Layout/GPOS/MarkBasePosFormat1.hh 12
../../src/harfbuzz/src/OT/Layout/GPOS/MarkArray.hh 2
../../src/harfbuzz/src/OT/Layout/GPOS/MarkRecord.hh 2
../../src/harfbuzz/src/OT/Layout/GPOS/AnchorMatrix.hh 2
../../src/harfbuzz/src/OT/Layout/GPOS/MarkLigPos.hh 4
../../src/harfbuzz/src/OT/Layout/GPOS/MarkLigPosFormat1.hh 12
../../src/harfbuzz/src/OT/Layout/GPOS/MarkMarkPos.hh 4
../../src/harfbuzz/src/OT/Layout/GPOS/MarkMarkPosFormat1.hh 12
../../src/harfbuzz/src/OT/Layout/GDEF/../../../hb-open-type.hh 26
../../src/harfbuzz/src/OT/Var/VARC/../../../hb-open-type.hh 2
../../src/harfbuzz/src/OT/Var/VARC/../../../hb-machinery.hh 1
../../src/harfbuzz/src/hb-ot-layout-gsub-table.hh 2
../../src/harfbuzz/src/hb-ot-layout-gpos-table.hh 1
../../src/harfbuzz/src/hb-ot-math-table.hh 45
../../src/harfbuzz/src/OT/Color/COLR/colrv1-closure.hh 15
../../src/harfbuzz/src/hb-bimap.hh 19
../../src/harfbuzz/src/hb-ot-stat-table.hh 41
../../src/harfbuzz/src/OT/Color/COLR/../CPAL/CPAL.hh 6
../../src/harfbuzz/src/OT/glyf/Glyph.hh 14
../../src/harfbuzz/src/OT/glyf/CompositeGlyph.hh 26
../../src/harfbuzz/src/OT/glyf/SimpleGlyph.hh 15
../../src/harfbuzz/src/OT/glyf/composite-iter.hh 8
../../src/harfbuzz/src/OT/glyf/GlyphHeader.hh 1
../../src/harfbuzz/src/hb-ot-cff1-table.cc 9
../../src/harfbuzz/src/hb-cff1-interp-cs.hh 15
../../src/harfbuzz/src/hb-cff-interp-cs-common.hh 229
../../src/harfbuzz/src/graph/../OT/Layout/Common/Coverage.hh 31
../../src/harfbuzz/src/graph/../OT/Layout/Common/CoverageFormat1.hh 42
../../src/harfbuzz/src/graph/../OT/Layout/Common/CoverageFormat2.hh 42
../../src/harfbuzz/src/OT/Layout/GPOS/PairValueRecord.hh 2
../../src/harfbuzz/src/OT/Layout/GDEF/../../../OT/Layout/Common/Coverage.hh 3
../../src/harfbuzz/src/hb-ot-layout-base-table.hh 49
../../src/harfbuzz/src/hb-font.cc 12
../../src/harfbuzz/src/hb-font.hh 8
../../src/harfbuzz/src/hb-ot-var.cc 3
../../src/harfbuzz/src/hb-ot-cff2-table.cc 10
../../src/harfbuzz/src/hb-cff2-interp-cs.hh 46
../../src/harfbuzz/src/hb-subset-table.hh 93
../../src/harfbuzz/src/hb-subset-table-layout.cc 1
../../src/harfbuzz/src/hb-subset.hh 332
../../src/harfbuzz/src/graph/../OT/Layout/GDEF/GDEF.hh 17
../../src/harfbuzz/src/graph/../OT/Layout/GDEF/../../../hb-ot-var-common.hh 73
../../src/harfbuzz/src/graph/../hb-ot-layout-common.hh 226
../../src/harfbuzz/src/graph/../OT/Layout/GDEF/../../../hb-subset-instancer-iup.hh 2
../../src/harfbuzz/src/hb-subset-instancer-solver.cc 7
../../src/harfbuzz/src/graph/../OT/Layout/GDEF/../../../hb-alloc-pool.hh 4
../../src/harfbuzz/src/OT/Var/VARC/../../../hb-array.hh 3
../../src/harfbuzz/src/hb-subset-instancer-iup.cc 10
../../src/harfbuzz/src/graph/../hb-priority-queue.hh 17
../../src/harfbuzz/src/OT/Layout/GSUB/../../../OT/Layout/Common/RangeRecord.hh 2
../../src/harfbuzz/src/hb-repacker.hh 9
../../src/harfbuzz/src/graph/graph.hh 99
../../src/harfbuzz/src/graph/serialize.hh 13
../../src/harfbuzz/src/graph/gsubgpos-context.cc 2
../../src/harfbuzz/src/graph/../hb-map.hh 2
../../src/harfbuzz/src/graph/../hb-object.hh 1
../../src/harfbuzz/src/graph/gsubgpos-graph.hh 29
../../src/harfbuzz/src/graph/../hb-atomic.hh 2
../../src/harfbuzz/src/graph/../hb-ot-layout-gsubgpos.hh 45
../../src/harfbuzz/src/OT/Layout/GSUB/../../../hb-ot-layout-common.hh 2
../../src/harfbuzz/src/graph/pairpos-graph.hh 32
../../src/harfbuzz/src/graph/split-helpers.hh 4
../../src/harfbuzz/src/graph/gsubgpos-context.hh 2
../../src/harfbuzz/src/graph/coverage-graph.hh 17
../../src/harfbuzz/src/graph/classdef-graph.hh 13
../../src/harfbuzz/src/graph/../OT/Layout/GPOS/ValueFormat.hh 10
../../src/harfbuzz/src/graph/markbasepos-graph.hh 21
../../src/harfbuzz/src/graph/../OT/Layout/GPOS/MarkRecord.hh 3
../../src/harfbuzz/src/graph/ligature-graph.hh 21
../../src/harfbuzz/src/graph/../OT/Layout/GSUB/SubstLookupSubTable.hh 2
../../src/harfbuzz/src/graph/../OT/Layout/GSUB/SingleSubst.hh 17
../../src/harfbuzz/src/graph/../OT/Layout/GSUB/SingleSubstFormat1.hh 14
../../src/harfbuzz/src/graph/../OT/Layout/GSUB/SingleSubstFormat2.hh 12
../../src/harfbuzz/src/graph/../OT/Layout/GSUB/MultipleSubst.hh 1
../../src/harfbuzz/src/graph/../OT/Layout/GSUB/MultipleSubstFormat1.hh 2
../../src/harfbuzz/src/graph/../OT/Layout/GSUB/Sequence.hh 6
../../src/harfbuzz/src/graph/../OT/Layout/GSUB/AlternateSubst.hh 1
../../src/harfbuzz/src/graph/../OT/Layout/GSUB/AlternateSubstFormat1.hh 2
../../src/harfbuzz/src/graph/../OT/Layout/GSUB/AlternateSet.hh 4
../../src/harfbuzz/src/graph/../OT/Layout/GSUB/LigatureSubst.hh 1
../../src/harfbuzz/src/graph/../OT/Layout/GSUB/LigatureSubstFormat1.hh 4
../../src/harfbuzz/src/graph/../OT/Layout/GSUB/LigatureSet.hh 6
../../src/harfbuzz/src/graph/../OT/Layout/GSUB/Ligature.hh 6
../../src/harfbuzz/src/graph/../OT/Layout/GSUB/ReverseChainSingleSubst.hh 1
../../src/harfbuzz/src/graph/../OT/Layout/GSUB/ReverseChainSingleSubstFormat1.hh 4
../../src/harfbuzz/src/graph/../OT/Layout/GPOS/PosLookupSubTable.hh 2
../../src/harfbuzz/src/graph/../OT/Layout/GPOS/SinglePos.hh 7
../../src/harfbuzz/src/graph/../OT/Layout/GPOS/SinglePosFormat1.hh 4
../../src/harfbuzz/src/graph/../OT/Layout/GPOS/SinglePosFormat2.hh 8
../../src/harfbuzz/src/graph/../OT/Layout/GPOS/PairPos.hh 1
../../src/harfbuzz/src/graph/../OT/Layout/GPOS/PairPosFormat1.hh 6
../../src/harfbuzz/src/graph/../OT/Layout/GPOS/PairValueRecord.hh 8
../../src/harfbuzz/src/graph/../OT/Layout/GPOS/PairSet.hh 2
../../src/harfbuzz/src/graph/../OT/Layout/GPOS/PairPosFormat2.hh 4
../../src/harfbuzz/src/graph/../OT/Layout/GPOS/CursivePos.hh 1
../../src/harfbuzz/src/graph/../OT/Layout/GPOS/CursivePosFormat1.hh 5
../../src/harfbuzz/src/graph/../OT/Layout/GPOS/Anchor.hh 1
../../src/harfbuzz/src/graph/../OT/Layout/GPOS/AnchorFormat1.hh 2
../../src/harfbuzz/src/graph/../OT/Layout/GPOS/AnchorFormat2.hh 2
../../src/harfbuzz/src/graph/../OT/Layout/GPOS/AnchorFormat3.hh 1
../../src/harfbuzz/src/graph/../OT/Layout/GPOS/MarkBasePos.hh 1
../../src/harfbuzz/src/graph/../OT/Layout/GPOS/MarkBasePosFormat1.hh 6
../../src/harfbuzz/src/graph/../OT/Layout/GPOS/MarkArray.hh 1
../../src/harfbuzz/src/graph/../OT/Layout/GPOS/AnchorMatrix.hh 3
../../src/harfbuzz/src/graph/../OT/Layout/GPOS/MarkLigPos.hh 1
../../src/harfbuzz/src/graph/../OT/Layout/GPOS/MarkLigPosFormat1.hh 2
../../src/harfbuzz/src/graph/../OT/Layout/GPOS/LigatureArray.hh 4
../../src/harfbuzz/src/graph/../OT/Layout/GPOS/MarkMarkPos.hh 1
../../src/harfbuzz/src/graph/../OT/Layout/GPOS/MarkMarkPosFormat1.hh 6
../../src/harfbuzz/src/hb-subset-table-var.cc 1
../../src/harfbuzz/src/hb-ot-var-hvar-table.hh 24
../../src/harfbuzz/src/hb-ot-var-gvar-table.hh 15
../../src/harfbuzz/src/hb-ot-var-common.hh 34
../../src/harfbuzz/src/hb-ot-var-cvar-table.hh 7
../../src/harfbuzz/src/hb-ot-var-mvar-table.hh 6
../../src/harfbuzz/src/hb-subset-table-cff.cc 3
../../src/harfbuzz/src/hb-subset-cff1.cc 47
../../src/harfbuzz/src/hb-subset-cff-common.cc 4
../../src/harfbuzz/src/OT/Var/VARC/../../../hb-iter.hh 1
../../src/harfbuzz/src/hb-subset-cff2.cc 29
../../src/harfbuzz/src/hb-ot-vorg-table.hh 4
../../src/harfbuzz/src/hb-subset-table-color.cc 1
../../src/harfbuzz/src/OT/Color/CPAL/CPAL.hh 3
../../src/harfbuzz/src/hb-subset-table-other.cc 1
../../src/harfbuzz/src/OT/glyf/SubsetGlyph.hh 8
../../src/harfbuzz/src/OT/glyf/../../hb-decycler.hh 4
../../src/harfbuzz/src/OT/glyf/glyf-helpers.hh 4
../../src/harfbuzz/src/hb-ot-hdmx-table.hh 9
../../src/harfbuzz/src/hb-utf.hh 1
../../src/harfbuzz/src/OT/name/../../hb-utf.hh 2
../../src/harfbuzz/src/hb-ot-os2-unicode-ranges.hh 2
../../src/harfbuzz/src/hb-ot-post-table-v2subset.hh 3
../../src/harfbuzz/src/hb-string-array.hh 1
../../src/harfbuzz/src/hb-ot-head-table.hh 2

Fuzz engine guidance

This sections provides heuristics that can be used as input to a fuzz engine when running a given fuzz target. The current focus is on providing input that is usable by libFuzzer.

../../src/harfbuzz/test/fuzzing/hb-set-fuzzer.cc

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['LLVMFuzzerTestOneInput']

../../src/harfbuzz/test/fuzzing/hb-repacker-fuzzer.cc

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['hb_iter_t, OT::Layout::Common::Coverage::iter_t>, hb_set_t&, $_6 const&, (void*)0>, $_7 const&, (hb_function_sortedness_t)1, (void*)0>, unsigned int>::operator++() &', 'hb_array_t::qsort(int (*)(void const*, void const*))', 'CrapHelper >::get_crap()', 'hb_serialize_context_t::check_success(bool, hb_serialize_error_t)', 'OT::ArrayOf, OT::NumType >::operator[](int)', 'graph::graph_t::vertex_t::is_shared() const', 'hb_iter_t >, graph::Coverage::filter_coverage(graph::gsubgpos_graph_context_t&, unsigned int, unsigned int, unsigned int)::{lambda(hb_pair_t)#1}, $_19 const&, (void*)0>, $_6 const&, (hb_function_sortedness_t)1, ($_19 const&)0>, unsigned int>::operator++() &', 'hb_filter_iter_t::item_t>, bool (hb_hashmap_t::item_t::*)() const, $_19 const&, (void*)0>::__next__()', 'hb_iter_t, graph::PairPosFormat2::clone_range(graph::PairPosFormat2::split_context_t&, unsigned int, unsigned int) const::{lambda(unsigned int)#2}, $_7 const&, (hb_function_sortedness_t)0>, graph::PairPosFormat2::clone_range(graph::PairPosFormat2::split_context_t&, unsigned int, unsigned int) const::{lambda(hb_pair_t)#1}, (graph::PairPosFormat2::clone_range(graph::PairPosFormat2::split_context_t&, unsigned int, unsigned int) const::{lambda(unsigned int)#1})1, (hb_function_sortedness_t)0>, hb_filter_iter_t, graph::PairPosFormat2::clone_range(graph::PairPosFormat2::split_context_t&, unsigned int, unsigned int) const::{lambda(unsigned int)#2}, $_7 const&, (hb_function_sortedness_t)0> >::operator++() &', 'hb_serialize_context_t::pop_pack(bool)']

../../src/harfbuzz/test/fuzzing/hb-draw-fuzzer.cc

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['hb_ot_face_t::init0(hb_face_t*)', 'hb_lazy_loader_t::get_unconst() const', 'OT::Layout::GPOS_impl::ValueFormat::sanitize_value(hb_sanitize_context_t*, OT::Layout::GPOS_impl::ValueBase const*, OT::NumType const*) const', 'hb_array_t, void, true> const>::sub_array(unsigned int, unsigned int*) const', 'CrapHelper::get_crap()', 'hb_atomic_t::operator hb_face_t::plan_node_t*() const', 'void hb_object_trace(hb_blob_t const*, char const*)', 'hb_lazy_loader_t, hb_face_t, 30u, AAT::morx_accelerator_t>::do_destroy(AAT::morx_accelerator_t*)', 'hb_draw_funcs_t::start_path(void*, hb_draw_state_t&)', 'hb_bit_page_t::elt(unsigned int)']

../../src/harfbuzz/test/fuzzing/hb-shape-fuzzer.cc

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['hb_ot_tags_from_complex_language(char const*, char const*, unsigned int*, unsigned int*)', 'hb_ot_metrics_get_variation', 'hb_lazy_loader_t, hb_face_t, 7u, OT::post_accelerator_t>::get() const', 'hb_ot_face_t::init0(hb_face_t*)', 'hb_buffer_t::verify(hb_buffer_t*, hb_font_t*, hb_feature_t const*, unsigned int, char const* const*)', 'hb_lazy_loader_t::get_unconst() const', 'CrapHelper::get_crap()', 'OT::OffsetTo, void, true>::operator()(void const*) const', 'OT::Device::sanitize(hb_sanitize_context_t*) const', 'NullHelper::get_null()']

../../src/harfbuzz/test/fuzzing/hb-subset-fuzzer.cc

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['cff2_path_procs_extents_t::curve(CFF::cff2_cs_interp_env_t&, cff2_extents_param_t&, CFF::point_t const&, CFF::point_t const&, CFF::point_t const&)', 'hb_hashmap_t, false>::alloc(unsigned int)', 'CFF::biased_subrs_t > >::operator[](unsigned int) const', '_get_table_tags(hb_subset_plan_t const*, unsigned int, unsigned int*, unsigned int*)', 'hb_iter_t, OT::Layout::Common::Coverage::iter_t>, hb_set_t&, $_6 const&, (void*)0>, $_7 const&, (hb_function_sortedness_t)1, (void*)0>, unsigned int>::operator++() &', 'hb_table_lazy_loader_t::convert(hb_blob_t const*)', 'cff2_private_dict_op_serializer_t::serialize(hb_serialize_context_t*, CFF::op_str_t const&, unsigned int) const', 'hb_vector_t const*, false>::resize_full(int, bool, bool)', 'hb_vector_t, false>::resize_full(int, bool, bool)', 'hb_vector_t graph::actuate_subtable_split(graph::MarkBasePosFormat1::split_context_t&, hb_vector_t const&)']

Runtime coverage analysis

This section shows analysis of runtime coverage data.

For futher technical details on how this section is generated, please see the Glossary .

Complex functions with low coverage

Func name Function total lines Lines covered at runtime percentage covered Reached by fuzzers
unsignedinthb_bit_storage (unsignedint) 49 5 10.20% ['hb-repacker-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer']
unsignedinthb_ctz (unsignedlonglong) 48 8 16.66% ['hb-repacker-fuzzer', 'hb-subset-fuzzer']
unsignedinthb_popcount (unsignedlonglong) 35 7 20.0% ['hb-repacker-fuzzer', 'hb-subset-fuzzer']
unsignedinthb_bit_storage (unsignedlonglong) 49 8 16.32% ['hb-repacker-fuzzer', 'hb-subset-fuzzer']
hb_font_t::draw_glyph_or_fail(unsignedint,hb_draw_funcs_t*,void*,bool) 42 13 30.95% ['hb-shape-fuzzer', 'hb-draw-fuzzer']
_hb_ot_metrics_get_position_common(hb_font_t*,hb_ot_metrics_tag_t,int*) 34 15 44.11% ['hb-shape-fuzzer', 'hb-draw-fuzzer']
OT::Layout::GPOS_impl::PairPosFormat2_4 ::apply(OT::hb_ot_apply_context_t*,void*)const 107 51 47.66% ['hb-shape-fuzzer']
OT::Layout::GPOS_impl::PairPosFormat2_4 ::apply(OT::hb_ot_apply_context_t*,void*)const 107 51 47.66% ['hb-shape-fuzzer']
OT::Layout::GSUB_impl::Ligature ::apply(OT::hb_ot_apply_context_t*)const 69 34 49.27% ['hb-shape-fuzzer']
OT::Layout::GSUB_impl::Ligature ::apply(OT::hb_ot_apply_context_t*)const 69 34 49.27% ['hb-shape-fuzzer']
OT::Layout::GSUB_impl::Sequence ::apply(OT::hb_ot_apply_context_t*)const 75 31 41.33% ['hb-shape-fuzzer']
OT::Layout::GSUB_impl::Sequence ::apply(OT::hb_ot_apply_context_t*)const 75 31 41.33% ['hb-shape-fuzzer']
unsignedintOT::hb_ot_name_convert_utf >,hb_utf16_xe_t >(hb_array_t ,unsignedint*,hb_utf16_xe_t ::codepoint_t*) 31 16 51.61% ['hb-shape-fuzzer']
unsignedintOT::hb_ot_name_convert_utf >(hb_array_t ,unsignedint*,hb_utf16_xe_t ::codepoint_t*) 31 16 51.61% ['hb-shape-fuzzer']
unsignedintOT::hb_ot_name_convert_utf >,hb_utf32_xe_t >(hb_array_t ,unsignedint*,hb_utf32_xe_t ::codepoint_t*) 31 16 51.61% ['hb-shape-fuzzer']
unsignedintOT::hb_ot_name_convert_utf >(hb_array_t ,unsignedint*,hb_utf32_xe_t ::codepoint_t*) 31 16 51.61% ['hb-shape-fuzzer']
hb_aat_map_builder_t::compile(hb_aat_map_t&) 67 6 8.955% ['hb-shape-fuzzer']
unsignedinthb_ctz (unsignedint) 48 5 10.41% ['hb-shape-fuzzer']
unsignedinthb_popcount (hb_glyph_flags_t) 35 4 11.42% ['hb-shape-fuzzer']
hb_ot_metrics_get_position 84 12 14.28% ['hb-shape-fuzzer']
hb_ensure_native_direction(hb_buffer_t*) 33 8 24.24% ['hb-shape-fuzzer']
apply_stch(hb_ot_shape_plan_tconst*,hb_buffer_t*,hb_font_t*) 136 3 2.205% ['hb-shape-fuzzer']
hb_ot_tags_from_complex_language(charconst*,charconst*,unsignedint*,unsignedint*) 1210 67 5.537% ['hb-shape-fuzzer']
hb_ot_tags_from_script_and_language 45 24 53.33% ['hb-shape-fuzzer']
parse_private_use_subtag(charconst*,unsignedint*,unsignedint*,charconst*,unsignedchar(*)(unsignedchar)) 32 2 6.25% ['hb-shape-fuzzer']
hb_ot_tags_from_language(charconst*,charconst*,unsignedint*,unsignedint*) 67 32 47.76% ['hb-shape-fuzzer']
hb_shapers_lazy_loader_t::create() 32 4 12.5% ['hb-shape-fuzzer']
hb_utf8_t::next(unsignedcharconst*,unsignedcharconst*,unsignedint*,unsignedint) 56 6 10.71% ['hb-shape-fuzzer', 'hb-subset-fuzzer']
hb_vector_t ::alloc(unsignedint,bool) 41 22 53.65% ['hb-shape-fuzzer']
OT::COLR::subset_varstore(hb_subset_context_t*,OT::COLR*)const 46 15 32.60% ['hb-subset-fuzzer']
OT::Layout::GPOS_impl::PairPosFormat2_4 ::subset(hb_subset_context_t*)const 44 24 54.54% ['hb-subset-fuzzer']
OT::Layout::GPOS_impl::PairPosFormat2_4 ::collect_variation_indices(OT::hb_collect_variation_indices_context_t*)const 41 2 4.878% ['hb-subset-fuzzer']
OT::NameRecord::copy(hb_serialize_context_t*,voidconst*,hb_hashmap_t ,false>const*)const 52 16 30.76% ['hb-subset-fuzzer']
boolhb_hashmap_t ::set_with_hash (unsignedint&&,unsignedint,int&&,bool) 40 21 52.5% ['hb-subset-fuzzer']
boolhb_hashmap_t const*,unsignedint,false>::set_with_hash const*,unsignedint>(hb_hashmap_t const*&&,unsignedint,unsignedint&&,bool) 40 21 52.5% ['hb-subset-fuzzer']
boolhb_hashmap_t const*,hb_vector_t ,false>::set_with_hash const*const&,hb_vector_t >(hb_vector_t const*const&,unsignedint,hb_vector_t &&,bool) 40 21 52.5% ['hb-subset-fuzzer']
boolhb_hashmap_t const*,unsignedint,false>::set_with_hash const*const&,int>(hb_vector_t const*const&,unsignedint,int&&,bool) 40 21 52.5% ['hb-subset-fuzzer']
boolhb_hashmap_t ,14u>,false>const*,unsignedint,false>::set_with_hash ,14u>,false>*,int>(hb_vector_t ,14u>,false>*&&,unsignedint,int&&,bool) 40 21 52.5% ['hb-subset-fuzzer']
_ZN2OT8CFFIndexINS_7NumTypeILb1EtLj2EEEE16serialize_headerI10hb_array_tIKS5_IKhEETnPN12hb_enable_ifIXsr17hb_is_iterator_ofIT_NSB_6item_tEEE5valueEvE4typeELPv0EEEbP22hb_serialize_context_tSB_jj 75 41 54.66% ['hb-subset-fuzzer']
_ZN2OT8CFFIndexINS_7NumTypeILb1EtLj2EEEE16serialize_headerI10hb_array_tIKjETnPN12hb_enable_ifIXsr17hb_is_iterator_ofIT_NS9_6item_tEEE5valueEvE4typeELPv0EEEbP22hb_serialize_context_tS9_jj 75 41 54.66% ['hb-subset-fuzzer']
_ZN2OT8CFFIndexINS_7NumTypeILb1EtLj2EEEE16serialize_headerI10hb_array_tIjETnPN12hb_enable_ifIXsr17hb_is_iterator_ofIT_NS8_6item_tEEE5valueEvE4typeELPv0EEEbP22hb_serialize_context_tS8_jj 75 30 40.0% ['hb-subset-fuzzer']
_ZN2OT8CFFIndexINS_7NumTypeILb1EjLj4EEEE16serialize_headerI10hb_array_tIKjETnPN12hb_enable_ifIXsr17hb_is_iterator_ofIT_NS9_6item_tEEE5valueEvE4typeELPv0EEEbP22hb_serialize_context_tS9_jj 75 41 54.66% ['hb-subset-fuzzer']
OT::hmtxvmtx ::subset_update_header(hb_subset_context_t*,unsignedint,hb_hashmap_t ,false>const*,hb_vector_t const&)const 83 17 20.48% ['hb-subset-fuzzer']
OT::SegmentMaps::subset(hb_subset_context_t*,unsignedint)const 38 5 13.15% ['hb-subset-fuzzer']
OT::avar::map_coords_2_14(float*,unsignedint)const 34 16 47.05% ['hb-subset-fuzzer']
OT::tuple_delta_t::change_tuple_var_axis_limit(unsignedint,Triple,TripleDistances,hb_vector_t &,hb_pair_t ,false>,hb_vector_t ,false>>&,hb_alloc_pool_t*) 34 16 47.05% ['hb-subset-fuzzer']
OT::tuple_delta_t::calc_inferred_deltas(contour_point_vector_tconst&,hb_vector_t &) 77 30 38.96% ['hb-subset-fuzzer']
boolOT::HVARVVAR::_subset (hb_subset_context_t*)const 44 24 54.54% ['hb-subset-fuzzer']
boolOT::HVARVVAR::_subset (hb_subset_context_t*)const 44 23 52.27% ['hb-subset-fuzzer']
_iup_contour_optimize(hb_array_t ,hb_array_t ,hb_array_t ,hb_array_t ,double,iup_scratch_t&) 135 25 18.51% ['hb-subset-fuzzer']
_solve(Triple,Triple,hb_vector_t ,false>&,bool) 100 11 11.0% ['hb-subset-fuzzer']
update_instance_metrics_map_from_cff2(hb_subset_plan_t*) 75 4 5.333% ['hb-subset-fuzzer']
_create_old_gid_to_new_gid_map(hb_face_tconst*,bool,hb_set_tconst*,hb_map_tconst*,hb_map_t*,hb_map_t*,hb_vector_t ,true>*,unsignedint*) 73 36 49.31% ['hb-subset-fuzzer']
bool_hb_subset_table (hb_subset_plan_t*,hb_vector_t &) 52 12 23.07% ['hb-subset-fuzzer']
bool_hb_subset_table (hb_subset_plan_t*,hb_vector_t &) 52 12 23.07% ['hb-subset-fuzzer']
hb_vector_t ,false>::alloc(unsignedint,bool) 41 22 53.65% ['hb-subset-fuzzer']
hb_vector_t >::tuple_variations_t,false>::alloc(unsignedint,bool) 41 20 48.78% ['hb-subset-fuzzer']
hb_vector_t ::alloc(unsignedint,bool) 41 20 48.78% ['hb-subset-fuzzer']
hb_vector_t ,false>::alloc(unsignedint,bool) 41 22 53.65% ['hb-subset-fuzzer']
hb_vector_t ,void,true>*,false>::alloc(unsignedint,bool) 41 22 53.65% ['hb-subset-fuzzer']
hb_vector_t >,false>::alloc(unsignedint,bool) 41 22 53.65% ['hb-repacker-fuzzer', 'hb-subset-fuzzer']
hb_vector_t ,false>::alloc(unsignedint,bool) 41 8 19.51% ['hb-subset-fuzzer']

Files and Directories in report

This section shows which files and directories are considered in this report. The main reason for showing this is fuzz introspector may include more code in the reasoning than is desired. This section helps identify if too many files/directories are included, e.g. third party code, which may be irrelevant for the threat model. In the event too much is included, fuzz introspector supports a configuration file that can exclude data from the report. See the following link for more information on how to create a config file: link

Files in report

Source file Reached by Covered by
[] []
/work/build/../../src/harfbuzz/src/OT/Layout/GPOS/PairPosFormat2.hh ['hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-ot-var-common.hh ['hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/OT/Layout/GSUB/Ligature.hh ['hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/hb-number-parser.rl ['hb-subset-fuzzer'] ['hb-subset-fuzzer']
/work/build/../../src/harfbuzz/src/graph/../OT/Layout/GSUB/SingleSubstFormat1.hh ['hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-ot-shape-normalize.cc ['hb-shape-fuzzer'] []
/work/build/../../src/harfbuzz/src/graph/split-helpers.hh ['hb-repacker-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/graph/../OT/Layout/GPOS/MarkMarkPos.hh ['hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/OT/glyf/Glyph.hh ['hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-ot-layout.hh ['hb-shape-fuzzer'] []
/work/build/../../src/harfbuzz/src/OT/glyf/glyf-helpers.hh ['hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-sanitize.hh ['hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/OT/Layout/GPOS/MarkMarkPosFormat1.hh ['hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/OT/Layout/GDEF/../../../OT/Layout/Common/Coverage.hh ['hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-ot-math.cc ['hb-draw-fuzzer', 'hb-shape-fuzzer'] []
/work/build/../../src/harfbuzz/src/graph/serialize.hh ['hb-repacker-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-subset-table-other.cc ['hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/OT/Layout/GSUB/../../../hb-ot-layout-common.hh ['hb-repacker-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/graph/../OT/Layout/GSUB/AlternateSet.hh ['hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-ot-math-table.hh ['hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-map.hh ['hb-repacker-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/OT/glyf/GlyphHeader.hh ['hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/OT/Color/sbix/sbix.hh ['hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-subset-input.hh ['hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-utf.hh ['hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/graph/../OT/Layout/GDEF/../../../hb-ot-var-common.hh ['hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/OT/Layout/GSUB/SubstLookupSubTable.hh ['hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-paint-extents.cc ['hb-draw-fuzzer', 'hb-shape-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-ot-color.cc ['hb-draw-fuzzer', 'hb-shape-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-draw.cc ['hb-draw-fuzzer', 'hb-shape-fuzzer'] []
/work/build/hb-ot-shaper-use-machine.rl [] []
/work/build/../../src/harfbuzz/src/hb-buffer.hh ['hb-shape-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-outline.cc ['hb-draw-fuzzer', 'hb-shape-fuzzer'] []
/work/build/../../src/harfbuzz/src/graph/../OT/Layout/GPOS/LigatureArray.hh ['hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/graph/../hb-priority-queue.hh ['hb-repacker-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-unicode.hh ['hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/graph/../OT/Layout/GSUB/ReverseChainSingleSubstFormat1.hh ['hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-string-array.hh ['hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-aat-map.cc ['hb-shape-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-ot-shaper.hh ['hb-shape-fuzzer'] []
/work/build/../../src/harfbuzz/src/OT/Layout/GSUB/../../../OT/Layout/Common/RangeRecord.hh ['hb-repacker-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/graph/../OT/Layout/GPOS/AnchorFormat3.hh ['hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-font.cc ['hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-subset-plan-layout.cc ['hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-ot-face.cc ['hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-aat-layout-ankr-table.hh ['hb-shape-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-subset-plan.cc ['hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-buffer.cc ['hb-shape-fuzzer'] []
/work/build/../../src/harfbuzz/src/OT/Layout/GPOS/PosLookup.hh ['hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-ot-post-table-v2subset.hh ['hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-ot-kern-table.hh ['hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-ot-shaper-vowel-constraints.cc [] []
/work/build/../../src/harfbuzz/src/hb-subset-input.cc ['hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/OT/glyf/loca.hh ['hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/OT/Layout/GSUB/GSUB.hh ['hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-ot-var-hvar-table.hh ['hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-subset-accelerator.hh ['hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-dispatch.hh ['hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-ot-cff-common.hh ['hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-ot-cff1-table.hh ['hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-aat-ltag-table.hh ['hb-shape-fuzzer'] []
/work/build/../../src/harfbuzz/src/OT/Layout/GSUB/Sequence.hh ['hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/OT/Layout/GPOS/PairPosFormat1.hh ['hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/OT/Layout/GSUB/SingleSubstFormat2.hh ['hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/OT/glyf/../../hb-ot-var-hvar-table.hh ['hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/OT/Layout/GSUB/SingleSubst.hh ['hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/OT/name/../../hb-machinery.hh ['hb-shape-fuzzer'] []
/work/build/../../src/harfbuzz/src/OT/Layout/GSUB/../../../OT/Layout/Common/Coverage.hh [] []
/work/build/../../src/harfbuzz/src/hb-subset.cc ['hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-aat-layout-kerx-table.hh ['hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-repacker.hh ['hb-repacker-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/OT/Layout/GSUB/LigatureSubst.hh ['hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/graph/../OT/Layout/GPOS/MarkMarkPosFormat1.hh ['hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/graph/../hb-object.hh ['hb-repacker-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/OT/Var/VARC/../../../OT/Layout/Common/Coverage.hh ['hb-draw-fuzzer'] []
/work/build/../../src/harfbuzz/src/OT/Layout/GPOS/ValueFormat.hh ['hb-repacker-fuzzer', 'hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/OT/Layout/GSUB/ReverseChainSingleSubst.hh ['hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/OT/Layout/Common/Coverage.hh ['hb-repacker-fuzzer', 'hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/graph/../OT/Layout/GPOS/MarkBasePos.hh ['hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-ot-font.cc [] []
/work/build/../../src/harfbuzz/src/hb-set-digest.hh ['hb-draw-fuzzer', 'hb-shape-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-ucd.cc ['hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-bit-set-invertible.hh ['hb-set-fuzzer', 'hb-repacker-fuzzer', 'hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/OT/Color/COLR/colrv1-closure.hh ['hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-shape.cc ['hb-shape-fuzzer'] []
/work/build/../../src/harfbuzz/src/OT/Var/VARC/../../../hb-open-type.hh ['hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/OT/Layout/GSUB/SingleSubstFormat1.hh ['hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/OT/Var/VARC/../../../hb-meta.hh [] []
/work/build/../../src/harfbuzz/src/hb-subset-plan.hh ['hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/graph/../OT/Layout/GSUB/SingleSubst.hh ['hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/graph/../OT/Layout/GPOS/PairSet.hh ['hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-cff2-interp-cs.hh ['hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-aat-layout-feat-table.hh ['hb-shape-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-ot-name.cc ['hb-shape-fuzzer'] []
/work/build/../../src/harfbuzz/src/OT/Layout/GSUB/LigatureSet.hh ['hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-ot-layout.cc ['hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-ot-shape-normalize.hh ['hb-shape-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-ot-shaper-arabic-table.hh [] []
/work/build/../../src/harfbuzz/src/OT/Var/VARC/../../../hb-ot-layout-common.hh [] []
/work/build/../../src/harfbuzz/src/hb-unicode-emoji-table.hh ['hb-shape-fuzzer'] []
/work/build/../../src/harfbuzz/src/graph/../OT/Layout/GSUB/LigatureSubstFormat1.hh ['hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-ot-map.hh ['hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-ot-shaper-arabic-fallback.hh [] []
/work/build/../../src/harfbuzz/src/hb-kern.hh ['hb-shape-fuzzer'] []
/work/build/../../src/harfbuzz/src/graph/classdef-graph.hh ['hb-repacker-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/OT/Layout/GDEF/../../../hb-cache.hh [] []
/work/build/../../src/harfbuzz/src/hb-atomic.hh ['hb-set-fuzzer', 'hb-repacker-fuzzer', 'hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-ucd-table.hh ['hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/OT/Var/VARC/../../../hb-algs.hh ['hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/OT/Color/CBDT/../../../hb-machinery.hh ['hb-draw-fuzzer', 'hb-shape-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-multimap.hh ['hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/OT/Layout/Common/RangeRecord.hh ['hb-repacker-fuzzer', 'hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/OT/glyf/SimpleGlyph.hh ['hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-buffer-verify.cc ['hb-shape-fuzzer'] []
/work/build/../../src/harfbuzz/src/OT/glyf/../../hb-ot-var-gvar-table.hh ['hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-ot-shaper-hangul.cc [] []
/work/build/../../src/harfbuzz/src/graph/../hb-iter.hh [] []
/work/build/../../src/harfbuzz/src/hb-ot-var-cvar-table.hh ['hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-shaper-list.hh ['hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-subset-cff-common.cc ['hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-mutex.hh ['hb-set-fuzzer', 'hb-repacker-fuzzer', 'hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-subset-instancer-solver.cc ['hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/test/fuzzing/hb-shape-fuzzer.cc ['hb-shape-fuzzer'] []
/work/build/../../src/harfbuzz/src/OT/Layout/Common/CoverageFormat1.hh ['hb-repacker-fuzzer', 'hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-number.cc ['hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-meta.hh ['hb-set-fuzzer', 'hb-repacker-fuzzer', 'hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-ot-cff1-table.cc ['hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/graph/../OT/Layout/GSUB/ReverseChainSingleSubst.hh ['hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-buffer-serialize.cc ['hb-shape-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-face-builder.cc ['hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-ot-var.cc ['hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/test/fuzzing/../api/test-ot-face.c ['hb-shape-fuzzer'] []
/work/build/../../src/harfbuzz/src/graph/../OT/Layout/GPOS/AnchorMatrix.hh ['hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-subset-table-var.cc ['hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-ot-shape.hh ['hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/graph/../OT/Layout/GSUB/SingleSubstFormat2.hh ['hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-ot-tag.cc ['hb-shape-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-fallback-shape.cc ['hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-face.hh ['hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-ot-head-table.hh ['hb-subset-fuzzer'] []
/work/build/hb-ot-shaper-indic-machine.rl [] []
/work/build/../../src/harfbuzz/src/graph/../OT/Layout/Common/CoverageFormat1.hh ['hb-repacker-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/graph/../OT/Layout/GPOS/PosLookupSubTable.hh ['hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-shaper.cc ['hb-shape-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-subset-plan-var.cc ['hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-ot-shaper-thai.cc [] []
/work/build/../../src/harfbuzz/src/OT/Layout/GDEF/GDEF.hh ['hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/OT/Layout/GPOS/MarkRecord.hh ['hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/graph/../OT/Layout/GSUB/Sequence.hh ['hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/OT/Layout/GPOS/AnchorMatrix.hh ['hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/OT/Layout/GSUB/AlternateSubst.hh ['hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-ot-shaper-use-table.hh [] []
/work/build/../../src/harfbuzz/src/hb-blob.cc ['hb-repacker-fuzzer', 'hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-aat-map.hh ['hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/OT/Var/VARC/VARC.hh ['hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/OT/name/name.hh ['hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-ot-shaper-arabic-joining-list.hh [] []
/work/build/../../src/harfbuzz/src/hb-array.hh ['hb-set-fuzzer', 'hb-repacker-fuzzer', 'hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-ot-shaper-hebrew.cc [] []
/work/build/../../src/harfbuzz/src/OT/Var/VARC/../../../hb-iter.hh ['hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/OT/Var/VARC/../../../hb-array.hh ['hb-draw-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-aat-layout-morx-table.hh ['hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-common.cc ['hb-set-fuzzer', 'hb-repacker-fuzzer', 'hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-aat-layout.cc ['hb-shape-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-algs.hh ['hb-set-fuzzer', 'hb-repacker-fuzzer', 'hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/graph/../hb-ot-layout-gsubgpos.hh ['hb-repacker-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-ot-face.hh ['hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/OT/Color/COLR/../CPAL/CPAL.hh ['hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/OT/Layout/GSUB/ReverseChainSingleSubstFormat1.hh ['hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/graph/../hb-null.hh [] []
/work/build/../../src/harfbuzz/src/hb-geometry.hh ['hb-draw-fuzzer', 'hb-shape-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-ot-var-mvar-table.hh ['hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/OT/Layout/GPOS/SinglePos.hh ['hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/OT/Layout/GPOS/MarkBasePos.hh ['hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-ot-layout-base-table.hh ['hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-ot-hhea-table.hh ['hb-shape-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-subset-instancer-solver.hh ['hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-subset-serialize.cc ['hb-repacker-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-unicode.cc ['hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/OT/Layout/GPOS/CursivePosFormat1.hh ['hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/OT/Layout/GDEF/../../../OT/Layout/Common/CoverageFormat1.hh ['hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/OT/Layout/GDEF/../../../OT/Layout/Common/CoverageFormat2.hh ['hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-iter.hh ['hb-set-fuzzer', 'hb-repacker-fuzzer', 'hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/graph/gsubgpos-context.cc ['hb-repacker-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/test/fuzzing/hb-set-fuzzer.cc ['hb-set-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-ot-layout-gpos-table.hh ['hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/OT/Var/VARC/../../../hb-blob.hh [] []
/work/build/../../src/harfbuzz/src/graph/../OT/Layout/GPOS/ValueFormat.hh ['hb-repacker-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-subset-cff2.cc ['hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/OT/Layout/GPOS/PairSet.hh ['hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/hb-buffer-deserialize-json.rl [] []
/work/build/../../src/harfbuzz/src/OT/Var/VARC/../../../hb-geometry.hh ['hb-draw-fuzzer', 'hb-shape-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-cff-interp-cs-common.hh ['hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-ot-post-table.hh ['hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/graph/../hb-meta.hh [] []
/work/build/../../src/harfbuzz/src/OT/Layout/GPOS/../../../hb-ot-layout-gsubgpos.hh ['hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-free-pool.hh ['hb-repacker-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-subset-table-cff.cc ['hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-cff-interp-dict-common.hh ['hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-ot-map.cc ['hb-shape-fuzzer'] []
/work/build/../../src/harfbuzz/src/graph/../OT/Layout/GDEF/GDEF.hh ['hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/OT/Layout/GPOS/PosLookupSubTable.hh ['hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-open-type.hh ['hb-repacker-fuzzer', 'hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/OT/glyf/SubsetGlyph.hh ['hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-draw.hh ['hb-draw-fuzzer', 'hb-shape-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-ot-layout-common.hh ['hb-repacker-fuzzer', 'hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-ot-shaper-indic-table.cc [] []
/work/build/../../src/harfbuzz/src/hb-ot-shaper-indic.cc [] []
/work/build/../../src/harfbuzz/src/hb-subset-cff-common.hh ['hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/OT/Var/VARC/VARC.cc [] []
/work/build/../../src/harfbuzz/src/OT/Layout/GPOS/Anchor.hh ['hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-ot-layout-gsub-table.hh ['hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-bimap.hh ['hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/OT/Layout/GPOS/SinglePosFormat1.hh ['hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/test/fuzzing/hb-draw-fuzzer.cc ['hb-draw-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-paint-bounded.hh [] []
/work/build/../../src/harfbuzz/src/OT/Layout/GSUB/MultipleSubstFormat1.hh ['hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/graph/coverage-graph.hh ['hb-repacker-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/graph/../OT/Layout/GPOS/MarkArray.hh ['hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/graph/../OT/Layout/GPOS/PairPosFormat2.hh ['hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/graph/../OT/Layout/GDEF/../../../hb-alloc-pool.hh ['hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/OT/glyf/glyf.hh ['hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-ot-shaper-syllabic.cc [] []
/work/build/../../src/harfbuzz/src/hb-ot-shaper-myanmar.cc [] []
/work/build/../../src/harfbuzz/src/OT/Color/CBDT/../../../hb-sanitize.hh ['hb-draw-fuzzer', 'hb-shape-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-bit-page.hh ['hb-set-fuzzer', 'hb-repacker-fuzzer', 'hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/test/fuzzing/hb-fuzzer.hh ['hb-set-fuzzer', 'hb-repacker-fuzzer', 'hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/graph/../OT/Layout/GPOS/SinglePos.hh ['hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/graph/../OT/Layout/Common/Coverage.hh ['hb-repacker-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/OT/Color/COLR/../../../hb-paint-bounded.hh ['hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/graph/../OT/Layout/GPOS/PairPosFormat1.hh ['hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-ot-os2-unicode-ranges.hh ['hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/graph/pairpos-graph.hh ['hb-repacker-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/graph/../OT/Layout/GSUB/AlternateSubstFormat1.hh ['hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-ot-meta-table.hh ['hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-ot-metrics.cc ['hb-shape-fuzzer'] []
/work/build/../../src/harfbuzz/src/graph/../OT/Layout/GPOS/AnchorFormat1.hh ['hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/OT/name/../../hb-open-type.hh ['hb-shape-fuzzer'] []
/work/build/../../src/harfbuzz/src/graph/../hb-algs.hh [] []
/work/build/../../src/harfbuzz/src/hb-ot-vorg-table.hh ['hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/graph/../OT/Layout/GSUB/LigatureSubst.hh ['hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-paint-extents.hh ['hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/graph/../hb-atomic.hh ['hb-repacker-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/graph/../hb-ot-layout-common.hh ['hb-repacker-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-aat-layout-common.hh ['hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/OT/Layout/GPOS/MarkBasePosFormat1.hh ['hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/graph/../OT/Layout/GSUB/MultipleSubstFormat1.hh ['hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-ot-cmap-table.hh ['hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/OT/glyf/../../hb-ot-head-table.hh ['hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-shape-plan.cc ['hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/OT/Layout/GPOS/MarkLigPos.hh ['hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/OT/Layout/GPOS/MarkMarkPos.hh ['hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-aat-layout.hh ['hb-shape-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-ot-name-language-static.hh ['hb-shape-fuzzer'] []
/work/build/../../src/harfbuzz/src/OT/Layout/Common/CoverageFormat2.hh ['hb-repacker-fuzzer', 'hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/graph/graph.hh ['hb-repacker-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/OT/Layout/GDEF/../../../hb-open-type.hh ['hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/OT/Layout/GPOS/PairValueRecord.hh ['hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-vector.hh ['hb-set-fuzzer', 'hb-repacker-fuzzer', 'hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/OT/Layout/GDEF/../../../OT/Layout/Common/RangeRecord.hh [] []
/work/build/../../src/harfbuzz/src/graph/../hb-map.hh ['hb-repacker-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-cache.hh ['hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/graph/../OT/Layout/GSUB/SubstLookupSubTable.hh ['hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/OT/Layout/GPOS/GPOS.hh ['hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-shape-plan.hh ['hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-set.hh ['hb-set-fuzzer', 'hb-repacker-fuzzer', 'hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-ot-var-fvar-table.hh ['hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/graph/../OT/Layout/GSUB/Ligature.hh ['hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/OT/Layout/GPOS/AnchorFormat1.hh ['hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-ot-var-avar-table.hh ['hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/OT/Layout/GSUB/SubstLookup.hh ['hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/OT/glyf/../../hb-ot-hhea-table.hh ['hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/graph/../OT/Layout/GSUB/LigatureSet.hh ['hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-ot-stat-table.hh ['hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/graph/../OT/Layout/GPOS/MarkRecord.hh ['hb-repacker-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/OT/Var/VARC/../../../OT/Layout/Common/RangeRecord.hh ['hb-draw-fuzzer'] []
/work/build/../../src/harfbuzz/test/fuzzing/hb-repacker-fuzzer.cc ['hb-repacker-fuzzer'] []
/work/build/../../src/harfbuzz/src/graph/../OT/Layout/GPOS/PairPos.hh ['hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/OT/Layout/GPOS/SinglePosFormat2.hh ['hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-cplusplus.hh ['hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/OT/Layout/GPOS/AnchorFormat3.hh ['hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/OT/name/../../hb-sanitize.hh ['hb-shape-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-ot-tag-table.hh ['hb-shape-fuzzer'] []
/work/build/../../src/harfbuzz/src/graph/../OT/Layout/GPOS/MarkBasePosFormat1.hh ['hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/OT/Color/COLR/../../../hb-ot-layout-common.hh ['hb-draw-fuzzer', 'hb-shape-fuzzer'] []
/work/build/hb-buffer-deserialize-text-glyphs.rl [] []
/work/build/../../src/harfbuzz/src/OT/Color/CPAL/CPAL.hh ['hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/OT/Var/VARC/../../../OT/Layout/Common/CoverageFormat1.hh ['hb-draw-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-debug.hh ['hb-set-fuzzer', 'hb-repacker-fuzzer', 'hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/OT/glyf/path-builder.hh [] []
/work/build/../../src/harfbuzz/src/OT/Color/COLR/COLR.hh ['hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-ot-hdmx-table.hh ['hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-ot-var-gvar-table.hh ['hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-ot-cff2-table.hh ['hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-set.cc ['hb-set-fuzzer', 'hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-ot-shape.cc ['hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/OT/Layout/GPOS/AnchorFormat2.hh ['hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/OT/Layout/GDEF/../../../hb-ot-layout-common.hh ['hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/OT/Layout/GSUB/../../../OT/Layout/Common/CoverageFormat1.hh [] []
/work/build/../../src/harfbuzz/src/hb-ot-meta.cc ['hb-shape-fuzzer'] []
/work/build/../../src/harfbuzz/src/OT/Var/VARC/../../../hb-machinery.hh ['hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/OT/glyf/CompositeGlyph.hh ['hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/graph/gsubgpos-graph.hh ['hb-repacker-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/OT/Layout/GSUB/MultipleSubst.hh ['hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/failing-alloc.c ['hb-set-fuzzer', 'hb-repacker-fuzzer', 'hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/OT/Var/VARC/../../../hb-ot-cff-common.hh [] []
/work/build/../../src/harfbuzz/src/hb-ot-shaper-use.cc [] []
/work/build/../../src/harfbuzz/src/hb-blob.hh ['hb-repacker-fuzzer', 'hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/OT/glyf/../../hb-decycler.hh ['hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/OT/Var/VARC/../../../hb-vector.hh ['hb-repacker-fuzzer', 'hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-serialize.hh ['hb-repacker-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-subset-cff1.cc ['hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/graph/../OT/Layout/GPOS/MarkLigPosFormat1.hh ['hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/OT/Layout/GSUB/LigatureSubstFormat1.hh ['hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/graph/../OT/Layout/GPOS/SinglePosFormat2.hh ['hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/OT/Var/VARC/coord-setter.hh [] []
/work/build/../../src/harfbuzz/src/graph/ligature-graph.hh ['hb-repacker-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/OT/glyf/composite-iter.hh ['hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-paint-bounded.cc [] []
/work/build/../../src/harfbuzz/src/OT/glyf/../../hb-paint.hh [] []
/work/build/../../src/harfbuzz/src/OT/Color/CBDT/../../../hb-blob.hh ['hb-draw-fuzzer', 'hb-shape-fuzzer'] []
/work/build/../../src/harfbuzz/src/OT/Color/CBDT/CBDT.hh ['hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-ot-shaper-khmer.cc [] []
/work/build/hb-buffer-deserialize-text-unicode.rl [] []
/work/build/../../src/harfbuzz/src/graph/../OT/Layout/GPOS/SinglePosFormat1.hh ['hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/graph/../OT/Layout/Common/CoverageFormat2.hh ['hb-repacker-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/graph/../OT/Layout/GPOS/CursivePosFormat1.hh ['hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/OT/name/../../hb-blob.hh ['hb-shape-fuzzer'] []
/work/build/hb-ot-shaper-khmer-machine.rl [] []
/work/build/../../src/harfbuzz/src/hb-subset-instancer-iup.cc ['hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-paint.hh ['hb-draw-fuzzer', 'hb-shape-fuzzer'] []
/work/build/../../src/harfbuzz/src/graph/gsubgpos-context.hh ['hb-repacker-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/OT/glyf/../../hb-ot-maxp-table.hh ['hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/OT/Var/VARC/../../../OT/Layout/Common/CoverageFormat2.hh ['hb-draw-fuzzer'] []
/work/build/../../src/harfbuzz/src/graph/../OT/Layout/GDEF/../../../hb-subset-instancer-iup.hh ['hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-object.hh ['hb-set-fuzzer', 'hb-repacker-fuzzer', 'hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/OT/Layout/GSUB/../../../OT/Layout/Common/CoverageFormat2.hh [] []
/work/build/../../src/harfbuzz/src/hb-cff1-interp-cs.hh ['hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-subset-table-layout.cc ['hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/OT/name/../../hb-utf.hh ['hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-ot-os2-table.hh ['hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-ot-shape-fallback.cc ['hb-shape-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-map.cc ['hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/hb-ot-shaper-myanmar-machine.rl [] []
/work/build/../../src/harfbuzz/src/hb-font.hh ['hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/graph/../OT/Layout/GPOS/AnchorFormat2.hh ['hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-ot-cff2-table.cc ['hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/graph/../OT/Layout/GPOS/Anchor.hh ['hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/graph/markbasepos-graph.hh ['hb-repacker-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/OT/glyf/../../hb-ot-hmtx-table.hh ['hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/OT/Var/VARC/../../../hb-null.hh ['hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-static.cc ['hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-bit-set.hh ['hb-set-fuzzer', 'hb-repacker-fuzzer', 'hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-ot-shaper-arabic-pua.hh ['hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/graph/../OT/Layout/GPOS/CursivePos.hh ['hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/OT/Layout/GSUB/AlternateSubstFormat1.hh ['hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-subset-table.hh ['hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/graph/../OT/Layout/GSUB/MultipleSubst.hh ['hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/OT/Layout/GPOS/MarkLigPosFormat1.hh ['hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/OT/Var/VARC/../../../OT/glyf/glyf.hh [] []
/work/build/../../src/harfbuzz/src/OT/Layout/GPOS/CursivePos.hh ['hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/graph/../OT/Layout/GSUB/AlternateSubst.hh ['hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/OT/Layout/GSUB/../../../hb-ot-layout-gsubgpos.hh [] []
/work/build/../../src/harfbuzz/src/graph/../OT/Layout/GPOS/MarkLigPos.hh ['hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-open-file.hh ['hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-aat-layout-trak-table.hh ['hb-shape-fuzzer'] []
/work/build/../../src/harfbuzz/src/OT/Color/CBDT/../../../hb-open-type.hh ['hb-draw-fuzzer', 'hb-shape-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-subset.hh ['hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/test/fuzzing/hb-subset-fuzzer.cc ['hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/OT/Color/svg/svg.hh ['hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-paint.cc ['hb-draw-fuzzer', 'hb-shape-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-null.hh ['hb-set-fuzzer', 'hb-repacker-fuzzer', 'hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-shaper.hh ['hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/OT/Layout/GPOS/PairPos.hh ['hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-cff-interp-common.hh ['hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/OT/Layout/GSUB/AlternateSet.hh ['hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/graph/../hb-machinery.hh [] []
/work/build/../../src/harfbuzz/src/hb-outline.hh ['hb-draw-fuzzer', 'hb-shape-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-machinery.hh ['hb-repacker-fuzzer', 'hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-face.cc ['hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-subset-table-color.cc ['hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/graph/../OT/Layout/GPOS/PairValueRecord.hh ['hb-subset-fuzzer'] []
/work/build/../../src/harfbuzz/src/hb-ot-shaper-arabic.cc [] []
/work/build/../../src/harfbuzz/src/OT/Layout/GPOS/MarkArray.hh ['hb-draw-fuzzer', 'hb-shape-fuzzer', 'hb-subset-fuzzer'] []

Directories in report

Directory
/work/build/../../src/harfbuzz/src/graph/../OT/Layout/GDEF/../../../
/work/build/../../src/harfbuzz/src/OT/Color/COLR/
/work/build/../../src/harfbuzz/src/OT/name/../../
/work/build/../../src/harfbuzz/src/graph/../OT/Layout/GSUB/
/work/build/../../src/harfbuzz/src/OT/Var/VARC/
/work/build/../../src/harfbuzz/src/OT/Layout/Common/
/work/build/../../src/harfbuzz/src/graph/../OT/Layout/GPOS/
/work/build/../../src/harfbuzz/src/OT/Color/COLR/../../../
/work/build/../../src/harfbuzz/src/graph/
/work/build/../../src/harfbuzz/src/OT/Layout/GDEF/
/work/build/../../src/harfbuzz/src/OT/Color/CBDT/../../../
/work/build/../../src/harfbuzz/src/OT/glyf/../../
/work/build/../../src/harfbuzz/src/OT/glyf/
/work/build/../../src/harfbuzz/src/OT/Layout/GSUB/../../../OT/Layout/Common/
/work/build/../../src/harfbuzz/test/fuzzing/../api/
/work/build/
/work/build/../../src/harfbuzz/src/OT/Layout/GDEF/../../../OT/Layout/Common/
/work/build/../../src/harfbuzz/src/OT/name/
/work/build/../../src/harfbuzz/src/OT/Var/VARC/../../../OT/glyf/
/work/build/../../src/harfbuzz/src/graph/../OT/Layout/Common/
/work/build/../../src/harfbuzz/src/OT/Layout/GPOS/../../../
/work/build/../../src/harfbuzz/src/
/work/build/../../src/harfbuzz/src/OT/Color/sbix/
/work/build/../../src/harfbuzz/src/OT/Layout/GDEF/../../../
/work/build/../../src/harfbuzz/src/OT/Layout/GPOS/
/work/build/../../src/harfbuzz/src/OT/Color/CPAL/
/work/build/../../src/harfbuzz/src/OT/Var/VARC/../../../
/work/build/../../src/harfbuzz/src/OT/Color/CBDT/
/work/build/../../src/harfbuzz/src/graph/../
/work/build/../../src/harfbuzz/test/fuzzing/
/work/build/../../src/harfbuzz/src/OT/Color/svg/
/work/build/../../src/harfbuzz/src/graph/../OT/Layout/GDEF/
/work/build/../../src/harfbuzz/src/OT/Var/VARC/../../../OT/Layout/Common/
/work/build/../../src/harfbuzz/src/OT/Color/COLR/../CPAL/
/work/build/../../src/harfbuzz/src/OT/Layout/GSUB/../../../
/work/build/../../src/harfbuzz/src/OT/Layout/GSUB/