Fuzz introspector: fuzztest_io_errors
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 76 1 :

['validate_message']

0 140 do_stream_decode call site: 00012 /src/nanopb/tests/build/fuzztest/fuzztest.c:124
0 5 1 :

['free_with_check']

0 5 realloc_with_check call site: 00071 /src/nanopb/tests/build/common/malloc_wrappers.c:108
0 0 None 0 1012 pb_decode_inner call site: 00016 /src/nanopb/pb_decode.c:1010
0 0 None 0 1012 decode_field call site: 00029 /src/nanopb/pb_decode.c:804
0 0 None 0 955 pb_message_set_to_defaults call site: 00019 /src/nanopb/pb_decode.c:960
0 0 None 0 955 pb_message_set_to_defaults call site: 00023 /src/nanopb/pb_decode.c:966
0 0 None 0 955 pb_message_set_to_defaults call site: 00023 /src/nanopb/pb_decode.c:972
0 0 None 0 955 pb_message_set_to_defaults call site: 00023 /src/nanopb/pb_decode.c:974
0 0 None 0 598 do_decode call site: 00182 /src/nanopb/tests/build/fuzztest/fuzztest.c:81
0 0 None 0 469 pb_field_set_to_default call site: 00027 /src/nanopb/pb_decode.c:882
0 0 None 0 465 decode_static_field call site: 00142 /src/nanopb/pb_decode.c:542
0 0 None 0 449 decode_extension call site: 00095 /src/nanopb/pb_decode.c:853

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 do_roundtrips [function] [call site] 00001
2 get_alloc_count [function] [call site] 00002
2 get_max_alloc_bytes [function] [call site] 00003
2 get_alloc_bytes [function] [call site] 00004
2 do_stream_decode [function] [call site] 00005
3 get_alloc_count [function] [call site] 00006
3 malloc_with_check [function] [call site] 00007
4 round_blocksize [function] [call site] 00008
3 __assert_fail [call site] 00009
3 flakystream_init [function] [call site] 00010
4 flakystream_callback [function] [call site] 00011
3 pb_decode [function] [call site] 00012
4 pb_decode_inner [function] [call site] 00013
5 pb_field_iter_begin [function] [call site] 00014
6 load_descriptor_values [function] [call site] 00015
5 pb_message_set_to_defaults [function] [call site] 00016
6 pb_istream_from_buffer [function] [call site] 00017
6 pb_decode_tag [function] [call site] 00019
7 pb_decode_varint32_eof [function] [call site] 00020
8 pb_readbyte [function] [call site] 00021
8 pb_readbyte [function] [call site] 00022
6 pb_field_set_to_default [function] [call site] 00023
7 pb_field_iter_begin_extension [function] [call site] 00024
8 pb_field_iter_begin [function] [call site] 00025
8 pb_field_iter_begin [function] [call site] 00026
7 pb_message_set_to_defaults [function] [call site] 00027
8 decode_field [function] [call site] 00028
9 pb_release_union_field [function] [call site] 00029
10 pb_field_iter_find [function] [call site] 00030
11 advance_iterator [function] [call site] 00031
11 load_descriptor_values [function] [call site] 00032
11 load_descriptor_values [function] [call site] 00033
10 pb_release_single_field [function] [call site] 00034
11 pb_field_iter_begin_extension [function] [call site] 00035
11 pb_release_single_field [function] [call site] 00036
12 pb_release [function] [call site] 00037
13 pb_field_iter_begin [function] [call site] 00038
13 pb_release_single_field [function] [call site] 00039
14 free_with_check [function] [call site] 00040
15 __assert_fail [call site] 00041
15 __assert_fail [call site] 00042
15 __assert_fail [call site] 00043
15 __assert_fail [call site] 00044
14 free_with_check [function] [call site] 00045
13 pb_field_iter_next [function] [call site] 00046
14 advance_iterator [function] [call site] 00047
14 load_descriptor_values [function] [call site] 00048
9 decode_static_field [function] [call site] 00049
10 decode_basic_field [function] [call site] 00050
11 pb_dec_bool [function] [call site] 00051
12 pb_decode_bool [function] [call site] 00052
13 pb_decode_varint32 [function] [call site] 00053
14 pb_decode_varint32_eof [function] [call site] 00054
11 pb_dec_varint [function] [call site] 00055
12 pb_decode_varint [function] [call site] 00056
13 pb_readbyte [function] [call site] 00057
12 pb_decode_svarint [function] [call site] 00058
13 pb_decode_varint [function] [call site] 00059
12 pb_decode_varint [function] [call site] 00060
11 pb_decode_fixed32 [function] [call site] 00061
11 pb_decode_fixed64 [function] [call site] 00065
11 pb_dec_bytes [function] [call site] 00067
12 pb_decode_varint32 [function] [call site] 00068
12 allocate_field [function] [call site] 00069
13 realloc_with_check [function] [call site] 00070
14 malloc_with_check [function] [call site] 00071
14 __assert_fail [call site] 00072
14 __assert_fail [call site] 00073
14 __assert_fail [call site] 00074
14 __assert_fail [call site] 00075
14 round_blocksize [function] [call site] 00076
14 round_blocksize [function] [call site] 00077
14 realloc [call site] 00078
14 free_with_check [function] [call site] 00079
11 pb_dec_string [function] [call site] 00081
12 pb_decode_varint32 [function] [call site] 00082
12 allocate_field [function] [call site] 00083
11 pb_dec_submessage [function] [call site] 00085
12 pb_make_string_substream [function] [call site] 00086
13 pb_decode_varint32 [function] [call site] 00087
12 pb_decode_inner [function] [call site] 00088
13 pb_decode_tag [function] [call site] 00089
13 pb_field_iter_find [function] [call site] 00090
13 pb_field_iter_find_extension [function] [call site] 00091
14 advance_iterator [function] [call site] 00092
14 load_descriptor_values [function] [call site] 00093
14 load_descriptor_values [function] [call site] 00094
13 decode_extension [function] [call site] 00095
14 default_extension_decoder [function] [call site] 00096
15 pb_field_iter_begin_extension [function] [call site] 00097
15 decode_field [function] [call site] 00098
16 decode_pointer_field [function] [call site] 00099
17 pb_release_single_field [function] [call site] 00100
17 decode_basic_field [function] [call site] 00101
18 pb_dec_fixed_length_bytes [function] [call site] 00102
19 pb_decode_varint32 [function] [call site] 00103
17 allocate_field [function] [call site] 00105
17 initialize_pointer_field [function] [call site] 00106
17 decode_basic_field [function] [call site] 00107
17 pb_make_string_substream [function] [call site] 00108
17 allocate_field [function] [call site] 00109
17 initialize_pointer_field [function] [call site] 00110
17 decode_basic_field [function] [call site] 00111
17 pb_close_string_substream [function] [call site] 00112
17 allocate_field [function] [call site] 00114
17 initialize_pointer_field [function] [call site] 00115
17 decode_basic_field [function] [call site] 00116
16 decode_callback_field [function] [call site] 00117
17 pb_skip_field [function] [call site] 00118
18 pb_skip_varint [function] [call site] 00119
18 pb_skip_string [function] [call site] 00122
19 pb_decode_varint32 [function] [call site] 00123
17 pb_make_string_substream [function] [call site] 00126
17 pb_close_string_substream [function] [call site] 00127
17 read_raw_value [function] [call site] 00128
17 pb_istream_from_buffer [function] [call site] 00132
13 pb_skip_field [function] [call site] 00133
13 decode_field [function] [call site] 00134
12 pb_close_string_substream [function] [call site] 00135
10 decode_basic_field [function] [call site] 00136
10 pb_make_string_substream [function] [call site] 00137
10 decode_basic_field [function] [call site] 00138
10 pb_close_string_substream [function] [call site] 00139
10 decode_basic_field [function] [call site] 00140
10 pb_field_iter_begin [function] [call site] 00141
10 pb_message_set_to_defaults [function] [call site] 00142
11 pb_decode_tag [function] [call site] 00143
11 pb_field_iter_next [function] [call site] 00144
10 decode_basic_field [function] [call site] 00145
7 pb_field_iter_begin [function] [call site] 00146
7 pb_message_set_to_defaults [function] [call site] 00147
4 pb_release [function] [call site] 00148
3 validate_message [function] [call site] 00149
4 pb_field_iter_begin_const [function] [call site] 00150
5 pb_const_cast [function] [call site] 00151
4 validate_static [function] [call site] 00152
5 __assert_fail [call site] 00153
5 memcmp [call site] 00154
5 strlen [call site] 00155
5 __assert_fail [call site] 00156
5 memcmp [call site] 00157
5 validate_message [function] [call site] 00158
6 validate_pointer [function] [call site] 00159
7 __assert_fail [call site] 00160
7 get_allocation_size [function] [call site] 00161
7 __assert_fail [call site] 00162
7 get_allocation_size [function] [call site] 00163
7 __assert_fail [call site] 00164
7 get_allocation_size [function] [call site] 00165
7 __assert_fail [call site] 00166
7 memcmp [call site] 00167
7 validate_message [function] [call site] 00168
8 pb_field_iter_next [function] [call site] 00169
3 fprintf [call site] 00170
3 __assert_fail [call site] 00171
3 pb_release [function] [call site] 00172
3 free_with_check [function] [call site] 00173
3 get_alloc_count [function] [call site] 00174
3 __assert_fail [call site] 00175
2 do_stream_decode [function] [call site] 00176
2 set_max_alloc_bytes [function] [call site] 00177
2 do_decode [function] [call site] 00178
3 get_alloc_count [function] [call site] 00179
3 malloc_with_check [function] [call site] 00180
3 malloc_with_check [function] [call site] 00181
3 __assert_fail [call site] 00182
3 pb_istream_from_buffer [function] [call site] 00183
3 pb_decode_ex [function] [call site] 00184
4 pb_decode_inner [function] [call site] 00185
4 pb_make_string_substream [function] [call site] 00186
4 pb_decode_inner [function] [call site] 00187
4 pb_close_string_substream [function] [call site] 00188
4 pb_release [function] [call site] 00189
3 validate_message [function] [call site] 00190
3 fprintf [call site] 00191
3 __assert_fail [call site] 00192
3 pb_release [function] [call site] 00193
3 free_with_check [function] [call site] 00194
3 get_alloc_count [function] [call site] 00195
3 __assert_fail [call site] 00196
2 do_decode [function] [call site] 00197
2 do_callback_decode [function] [call site] 00198
3 get_alloc_count [function] [call site] 00199
3 malloc_with_check [function] [call site] 00200
3 __assert_fail [call site] 00201
3 pb_istream_from_buffer [function] [call site] 00202
3 field_callback [function] [call site] 00203
4 __assert_fail [call site] 00204
4 __assert_fail [call site] 00205
4 __assert_fail [call site] 00206
3 field_callback [function] [call site] 00208
3 field_callback [function] [call site] 00209
3 field_callback [function] [call site] 00210
3 submsg_callback [function] [call site] 00211
4 __assert_fail [call site] 00212
4 __assert_fail [call site] 00213
4 __assert_fail [call site] 00214
3 pb_decode [function] [call site] 00215
3 fprintf [call site] 00216
3 __assert_fail [call site] 00217
3 pb_release [function] [call site] 00218
3 free_with_check [function] [call site] 00219
3 get_alloc_count [function] [call site] 00220
3 __assert_fail [call site] 00221
2 get_alloc_count [function] [call site] 00222
2 __assert_fail [call site] 00223