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

Fuzz blockers

The followings are the branches where fuzzer fails to bypass.

Unique non-covered Complexity Unique Reachable Complexities Unique Reachable Functions All non-covered Complexity All Reachable Complexity Function Name Function Callsite Blocked Branch
0 0 None 587 1058 fribidi_get_par_embedding_levels_ex call site: 00054 /work/build/../../src/fribidi/lib/fribidi-bidi.c:748
0 0 None 0 21 free_run_list call site: 00022 /work/build/../../src/fribidi/lib/fribidi-run.c:82
0 0 None 0 0 pairing_nodes_front_back_split call site: 00111 /work/build/../../src/fribidi/lib/fribidi-bidi.c:445

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 calloc [call site] 00001
1 calloc [call site] 00002
1 calloc [call site] 00003
1 fribidi_get_bidi_types [function] [call site] 00004
1 fribidi_get_bracket_types [function] [call site] 00005
2 fribidi_get_bracket [function] [call site] 00006
1 fribidi_get_par_embedding_levels_ex [function] [call site] 00007
2 fribidi_debug_status [function] [call site] 00008
2 fprintf [call site] 00009
2 fribidi_debug_status [function] [call site] 00010
2 fprintf [call site] 00011
2 fribidi_debug_status [function] [call site] 00012
2 fprintf [call site] 00013
2 fribidi_debug_status [function] [call site] 00014
2 fprintf [call site] 00015
2 run_list_encode_bidi_types [function] [call site] 00016
3 fribidi_debug_status [function] [call site] 00017
3 fprintf [call site] 00018
3 new_run_list [function] [call site] 00019
3 free_run_list [function] [call site] 00022
4 fribidi_validate_run_list [function] [call site] 00023
5 fribidi_debug_status [function] [call site] 00024
5 fprintf [call site] 00025
5 fribidi_debug_status [function] [call site] 00026
5 fprintf [call site] 00027
5 fribidi_debug_status [function] [call site] 00028
5 fprintf [call site] 00029
5 fribidi_debug_status [function] [call site] 00030
5 fprintf [call site] 00031
5 fribidi_debug_status [function] [call site] 00032
5 fprintf [call site] 00033
5 fribidi_debug_status [function] [call site] 00034
5 fprintf [call site] 00035
5 fribidi_debug_status [function] [call site] 00036
5 fprintf [call site] 00037
3 fribidi_validate_run_list [function] [call site] 00038
2 fribidi_debug_status [function] [call site] 00039
2 fprintf [call site] 00040
2 fribidi_debug_status [function] [call site] 00041
2 fribidi_get_bidi_type_name [function] [call site] 00042
2 fprintf [call site] 00043
2 fribidi_debug_status [function] [call site] 00044
2 print_types_re [function] [call site] 00045
3 fribidi_debug_status [function] [call site] 00046
3 fprintf [call site] 00047
3 fprintf [call site] 00048
3 fribidi_get_bidi_type_name [function] [call site] 00049
3 fprintf [call site] 00050
3 fprintf [call site] 00051
2 fribidi_debug_status [function] [call site] 00052
2 fprintf [call site] 00053
2 new_run_list [function] [call site] 00054
2 compact_list [function] [call site] 00055
3 fribidi_debug_status [function] [call site] 00056
3 fprintf [call site] 00057
3 merge_with_prev [function] [call site] 00058
4 fribidi_debug_status [function] [call site] 00059
4 fprintf [call site] 00060
4 fribidi_debug_status [function] [call site] 00061
4 fprintf [call site] 00062
4 fribidi_debug_status [function] [call site] 00063
4 fprintf [call site] 00064
2 fribidi_debug_status [function] [call site] 00065
2 print_types_re [function] [call site] 00066
2 print_bidi_string [function] [call site] 00067
3 fribidi_debug_status [function] [call site] 00068
3 fprintf [call site] 00069
3 fprintf [call site] 00070
3 fribidi_get_bidi_type_name [function] [call site] 00071
3 fprintf [call site] 00072
3 fprintf [call site] 00073
2 print_resolved_levels [function] [call site] 00074
3 fribidi_debug_status [function] [call site] 00075
3 fprintf [call site] 00076
3 fprintf [call site] 00077
3 fprintf [call site] 00078
3 fprintf [call site] 00079
2 print_resolved_types [function] [call site] 00080
3 fribidi_debug_status [function] [call site] 00081
3 fprintf [call site] 00082
3 fprintf [call site] 00083
3 fribidi_get_bidi_type_name [function] [call site] 00084
3 fprintf [call site] 00085
3 fprintf [call site] 00086
2 fribidi_debug_status [function] [call site] 00087
2 fprintf [call site] 00088
2 get_adjacent_run [function] [call site] 00089
2 get_adjacent_run [function] [call site] 00090
2 merge_with_prev [function] [call site] 00091
2 merge_with_prev [function] [call site] 00092
2 fribidi_debug_status [function] [call site] 00093
2 print_resolved_levels [function] [call site] 00094
2 print_resolved_types [function] [call site] 00095
2 fribidi_debug_status [function] [call site] 00096
2 fprintf [call site] 00097
2 get_adjacent_run [function] [call site] 00098
2 get_adjacent_run [function] [call site] 00099
2 compact_neutrals [function] [call site] 00100
3 fribidi_debug_status [function] [call site] 00101
3 fprintf [call site] 00102
3 merge_with_prev [function] [call site] 00103
2 fribidi_debug_status [function] [call site] 00104
2 print_resolved_levels [function] [call site] 00105
2 print_resolved_types [function] [call site] 00106
2 fribidi_debug_status [function] [call site] 00107
2 fprintf [call site] 00108
2 pairing_nodes_push [function] [call site] 00109
2 sort_pairing_nodes [function] [call site] 00110
3 pairing_nodes_front_back_split [function] [call site] 00111
3 sort_pairing_nodes [function] [call site] 00112
4 sort_pairing_nodes [function] [call site] 00113
5 pairing_nodes_sorted_merge [function] [call site] 00114
6 pairing_nodes_sorted_merge [function] [call site] 00115
7 pairing_nodes_sorted_merge [function] [call site] 00116
2 fribidi_debug_status [function] [call site] 00117
2 print_pairing_nodes [function] [call site] 00118
3 fprintf [call site] 00119
3 fprintf [call site] 00120
3 fprintf [call site] 00121
2 free_pairing_nodes [function] [call site] 00122
2 compact_neutrals [function] [call site] 00123
2 fribidi_debug_status [function] [call site] 00124
2 print_resolved_levels [function] [call site] 00125
2 print_resolved_types [function] [call site] 00126
2 fribidi_debug_status [function] [call site] 00127
2 fprintf [call site] 00128
2 get_adjacent_run [function] [call site] 00129
2 get_adjacent_run [function] [call site] 00130
2 compact_list [function] [call site] 00131
2 fribidi_debug_status [function] [call site] 00132
2 print_resolved_levels [function] [call site] 00133
2 print_resolved_types [function] [call site] 00134
2 fribidi_debug_status [function] [call site] 00135
2 fprintf [call site] 00136
2 compact_list [function] [call site] 00137
2 fribidi_debug_status [function] [call site] 00138
2 print_bidi_string [function] [call site] 00139
2 print_resolved_levels [function] [call site] 00140
2 print_resolved_types [function] [call site] 00141
2 fribidi_debug_status [function] [call site] 00142
2 fprintf [call site] 00143
2 shadow_run_list [function] [call site] 00144
3 fribidi_validate_run_list [function] [call site] 00145
3 fribidi_validate_run_list [function] [call site] 00146
3 fribidi_validate_run_list [function] [call site] 00148
3 free_run_list [function] [call site] 00149
2 fribidi_debug_status [function] [call site] 00150
2 print_types_re [function] [call site] 00151
2 print_resolved_levels [function] [call site] 00152
2 print_resolved_types [function] [call site] 00153
2 fribidi_debug_status [function] [call site] 00154
2 fprintf [call site] 00155
2 new_run_list [function] [call site] 00156
2 free_run_list [function] [call site] 00158
2 shadow_run_list [function] [call site] 00159
2 fribidi_debug_status [function] [call site] 00160
2 print_types_re [function] [call site] 00161
2 print_resolved_levels [function] [call site] 00162
2 print_resolved_types [function] [call site] 00163
2 fribidi_debug_status [function] [call site] 00164
2 fprintf [call site] 00165
2 free_run_list [function] [call site] 00166
2 free_run_list [function] [call site] 00167