Fuzz introspector: pdu_parse_ws_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 35 2 :

['coap_log_impl', 'coap_get_log_level']

0 35 coap_pdu_resize call site: 00019 /src/libcoap/src/coap_pdu.c:271
0 2 1 :

['coap_free_type']

0 2 coap_pdu_init call site: 00006 /src/libcoap/src/coap_pdu.c:141
0 0 None 2 261 coap_split_uri_sub call site: 00080 /src/libcoap/src/coap_uri.c:103
0 0 None 2 24 coap_log_impl call site: 00117 /src/libcoap/src/coap_debug.c:1204
0 0 None 0 70 coap_pdu_parse_header call site: 00022 /src/libcoap/src/coap_pdu.c:1008
0 0 None 0 39 coap_pdu_resize call site: 00017 /src/libcoap/src/coap_pdu.c:262
0 0 None 0 35 coap_pdu_parse_header call site: 00024 /src/libcoap/src/coap_pdu.c:1017
0 0 None 0 35 coap_pdu_parse_header call site: 00025 /src/libcoap/src/coap_pdu.c:1022
0 0 None 0 35 coap_pdu_parse_opt call site: 00000 /src/libcoap/src/coap_pdu.c:1277
0 0 None 0 0 coap_option_filter_op call site: 00034 /src/libcoap/src/coap_option.c:479
0 0 None 0 0 coap_pdu_resize call site: 00021 /src/libcoap/src/coap_pdu.c:280
0 0 None 0 0 coap_get_data_large call site: 00171 /src/libcoap/src/coap_pdu.c:819

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 coap_pdu_init [function] [call site] 00001
2 __assert_fail [call site] 00002
2 __assert_fail [call site] 00003
2 __assert_fail [call site] 00004
2 coap_malloc_type [function] [call site] 00005
2 coap_malloc_type [function] [call site] 00006
2 coap_free_type [function] [call site] 00007
2 coap_pdu_clear [function] [call site] 00008
3 __assert_fail [call site] 00009
3 __assert_fail [call site] 00010
3 __assert_fail [call site] 00011
1 coap_set_log_level [function] [call site] 00012
1 coap_pdu_parse [function] [call site] 00013
2 coap_pdu_parse_header_size [function] [call site] 00014
3 __assert_fail [call site] 00015
2 coap_pdu_resize [function] [call site] 00016
3 coap_get_log_level [function] [call site] 00017
3 __assert_fail [call site] 00018
3 coap_realloc_type [function] [call site] 00019
4 realloc [call site] 00020
3 coap_get_log_level [function] [call site] 00021
2 coap_pdu_parse_header [function] [call site] 00022
3 __assert_fail [call site] 00023
3 coap_get_log_level [function] [call site] 00024
3 __assert_fail [call site] 00025
3 __assert_fail [call site] 00026
3 coap_get_log_level [function] [call site] 00027
3 coap_get_log_level [function] [call site] 00028
1 coap_get_query [function] [call site] 00029
2 coap_option_filter_clear [function] [call site] 00030
2 coap_option_filter_set [function] [call site] 00031
3 coap_option_filter_op [function] [call site] 00032
4 is_long_option [function] [call site] 00033
2 coap_option_iterator_init [function] [call site] 00036
3 __assert_fail [call site] 00037
3 __assert_fail [call site] 00038
3 __assert_fail [call site] 00039
2 coap_option_next [function] [call site] 00040
3 __assert_fail [call site] 00041
3 opt_finished [function] [call site] 00042
4 __assert_fail [call site] 00043
3 coap_opt_parse [function] [call site] 00044
4 __assert_fail [call site] 00045
4 coap_get_log_level [function] [call site] 00046
4 coap_get_log_level [function] [call site] 00047
4 coap_get_log_level [function] [call site] 00048
4 coap_get_log_level [function] [call site] 00049
3 __assert_fail [call site] 00050
3 coap_option_filter_get [function] [call site] 00051
4 coap_option_filter_op [function] [call site] 00052
2 coap_opt_length [function] [call site] 00053
3 coap_get_log_level [function] [call site] 00054
3 coap_get_log_level [function] [call site] 00055
2 coap_opt_value [function] [call site] 00056
3 coap_get_log_level [function] [call site] 00057
3 coap_get_log_level [function] [call site] 00058
2 is_unescaped_in_query [function] [call site] 00059
3 is_unescaped_in_path [function] [call site] 00060
2 coap_new_string [function] [call site] 00061
3 __assert_fail [call site] 00062
3 coap_malloc_type [function] [call site] 00063
3 coap_get_log_level [function] [call site] 00064
2 coap_option_iterator_init [function] [call site] 00065
2 coap_option_next [function] [call site] 00066
2 coap_opt_length [function] [call site] 00067
2 coap_opt_value [function] [call site] 00068
2 is_unescaped_in_query [function] [call site] 00069
1 coap_get_uri_path [function] [call site] 00070
2 coap_check_option [function] [call site] 00071
3 coap_option_filter_clear [function] [call site] 00072
3 coap_option_filter_set [function] [call site] 00073
3 coap_option_iterator_init [function] [call site] 00074
3 coap_option_next [function] [call site] 00075
2 coap_opt_value [function] [call site] 00076
2 coap_opt_length [function] [call site] 00077
2 coap_split_proxy_uri [function] [call site] 00078
3 coap_split_uri_sub [function] [call site] 00079
4 strlen [call site] 00080
4 coap_get_log_level [function] [call site] 00081
4 coap_get_log_level [function] [call site] 00082
4 coap_dtls_is_supported [function] [call site] 00083
4 coap_get_log_level [function] [call site] 00084
4 coap_tcp_is_supported [function] [call site] 00085
4 coap_get_log_level [function] [call site] 00086
4 coap_tcp_is_supported [function] [call site] 00087
4 coap_get_log_level [function] [call site] 00088
4 coap_ws_is_supported [function] [call site] 00089
5 coap_tcp_is_supported [function] [call site] 00090
4 coap_get_log_level [function] [call site] 00091
4 coap_wss_is_supported [function] [call site] 00092
5 coap_tls_is_supported [function] [call site] 00093
4 coap_get_log_level [function] [call site] 00094
4 coap_get_log_level [function] [call site] 00095
4 __ctype_b_loc [call site] 00096
2 coap_new_string [function] [call site] 00097
2 coap_option_filter_clear [function] [call site] 00098
2 coap_option_filter_set [function] [call site] 00099
2 coap_option_iterator_init [function] [call site] 00100
2 coap_option_next [function] [call site] 00101
2 coap_opt_length [function] [call site] 00102
2 coap_opt_value [function] [call site] 00103
2 is_unescaped_in_path [function] [call site] 00104
2 coap_new_string [function] [call site] 00105
2 coap_option_iterator_init [function] [call site] 00106
2 coap_option_next [function] [call site] 00107
2 coap_opt_length [function] [call site] 00108
2 coap_opt_value [function] [call site] 00109
2 is_unescaped_in_path [function] [call site] 00110
1 coap_show_pdu [function] [call site] 00111
2 coap_get_log_level [function] [call site] 00112
2 msg_type_string [function] [call site] 00113
2 msg_code_string [function] [call site] 00114
3 snprintf [call site] 00115
2 snprintf [call site] 00116
2 coap_log_impl [function] [call site] 00117
3 vsnprintf [call site] 00118
3 coap_ticks [function] [call site] 00119
4 clock_gettime [call site] 00120
3 print_timestamp [function] [call site] 00121
4 coap_ticks_to_rt [function] [call site] 00122
4 localtime [call site] 00123
4 strftime [call site] 00124
4 coap_ticks_to_rt_us [function] [call site] 00125
4 snprintf [call site] 00126
3 fprintf [call site] 00127
3 coap_log_level_desc [function] [call site] 00128
3 fprintf [call site] 00129
3 vfprintf [call site] 00130
3 fflush [call site] 00131
2 msg_code_string [function] [call site] 00132
2 snprintf [call site] 00133
2 coap_log_impl [function] [call site] 00134
2 msg_code_string [function] [call site] 00135
2 snprintf [call site] 00136
2 strlen [call site] 00137
2 snprintf [call site] 00138
2 strlen [call site] 00139
2 snprintf [call site] 00140
2 coap_option_iterator_init [function] [call site] 00141
2 strlen [call site] 00142
2 snprintf [call site] 00143
2 coap_option_next [function] [call site] 00144
2 strlen [call site] 00145
2 snprintf [call site] 00146
2 coap_decode_var_bytes [function] [call site] 00147
2 snprintf [call site] 00148
2 coap_opt_value [function] [call site] 00149
2 coap_opt_length [function] [call site] 00150
2 print_readable [function] [call site] 00151
3 __assert_fail [call site] 00152
3 __ctype_b_loc [call site] 00153
2 coap_opt_value [function] [call site] 00154
2 coap_opt_length [function] [call site] 00155
2 coap_decode_var_bytes [function] [call site] 00156
2 snprintf [call site] 00157
2 coap_decode_var_bytes [function] [call site] 00158
2 snprintf [call site] 00159
2 coap_opt_value [function] [call site] 00160
2 coap_opt_length [function] [call site] 00161
2 coap_decode_var_bytes [function] [call site] 00162
2 print_content_format [function] [call site] 00163
3 snprintf [call site] 00164
3 snprintf [call site] 00165
2 coap_opt_length [function] [call site] 00166
2 coap_get_data [function] [call site] 00167
3 coap_get_data_large [function] [call site] 00168
4 __assert_fail [call site] 00169
4 __assert_fail [call site] 00170
4 __assert_fail [call site] 00171
2 coap_opt_block_num [function] [call site] 00172
3 coap_opt_length [function] [call site] 00173
3 coap_opt_value [function] [call site] 00174
3 coap_opt_length [function] [call site] 00175
3 coap_decode_var_bytes [function] [call site] 00176
3 coap_opt_length [function] [call site] 00177
2 coap_opt_length [function] [call site] 00178
2 snprintf [call site] 00179
2 coap_opt_block_num [function] [call site] 00180
2 coap_opt_length [function] [call site] 00181
2 snprintf [call site] 00182
2 coap_opt_block_num [function] [call site] 00183
2 coap_opt_length [function] [call site] 00184
2 coap_opt_length [function] [call site] 00185
2 snprintf [call site] 00186
2 coap_opt_length [function] [call site] 00187
2 coap_opt_value [function] [call site] 00188
2 strlen [call site] 00189
2 snprintf [call site] 00190
2 strlen [call site] 00191
2 snprintf [call site] 00192
2 strlen [call site] 00193
2 snprintf [call site] 00194
2 strlen [call site] 00195
2 snprintf [call site] 00196
2 strlen [call site] 00197
2 snprintf [call site] 00198
2 strlen [call site] 00199
2 snprintf [call site] 00200
2 strlen [call site] 00201
2 coap_opt_length [function] [call site] 00202
2 coap_opt_value [function] [call site] 00203
2 coap_opt_length [function] [call site] 00204
2 coap_decode_var_bytes [function] [call site] 00205
2 snprintf [call site] 00206
2 coap_opt_length [function] [call site] 00207
2 coap_opt_value [function] [call site] 00208
2 strlen [call site] 00209
2 snprintf [call site] 00210
2 strlen [call site] 00211
2 coap_opt_value [function] [call site] 00212
2 coap_opt_length [function] [call site] 00213
2 print_readable [function] [call site] 00214
2 strlen [call site] 00215
2 msg_option_string [function] [call site] 00216
3 snprintf [call site] 00217
2 snprintf [call site] 00218
2 strlen [call site] 00219
2 snprintf [call site] 00220
2 coap_get_data [function] [call site] 00221
2 strlen [call site] 00222
2 snprintf [call site] 00223
2 is_binary [function] [call site] 00224
2 __ctype_b_loc [call site] 00225
2 strlen [call site] 00226
2 snprintf [call site] 00227
2 fputs [call site] 00228
2 coap_get_log_level [function] [call site] 00229
2 strlen [call site] 00230
2 snprintf [call site] 00231
2 strlen [call site] 00232
2 snprintf [call site] 00233
2 strlen [call site] 00234
2 snprintf [call site] 00235
2 coap_get_log_level [function] [call site] 00236
2 __ctype_b_loc [call site] 00237
2 strlen [call site] 00238
2 snprintf [call site] 00239
2 strlen [call site] 00240
2 snprintf [call site] 00241
2 strlen [call site] 00242
2 print_readable [function] [call site] 00243
2 strlen [call site] 00244
2 snprintf [call site] 00245
2 fputs [call site] 00246
2 coap_get_log_level [function] [call site] 00247
1 coap_pdu_encode_header [function] [call site] 00248
2 coap_get_log_level [function] [call site] 00249
2 __assert_fail [call site] 00250
2 __assert_fail [call site] 00251
2 __assert_fail [call site] 00252
2 __assert_fail [call site] 00253
2 __assert_fail [call site] 00254
2 __assert_fail [call site] 00255
2 coap_get_log_level [function] [call site] 00256
1 coap_delete_string [function] [call site] 00257
2 coap_free_type [function] [call site] 00258
1 coap_delete_string [function] [call site] 00259
1 coap_delete_pdu [function] [call site] 00260
2 coap_free_type [function] [call site] 00261
2 coap_free_type [function] [call site] 00262