Fuzz introspector: fuzz_gobex
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
18 18 1 :

['g_obex_packet_set_data']

18 100 g_obex_packet_decode call site: 00015 /src/bluez/gobex/gobex-packet.c:357
8 8 1 :

['get_body']

8 8 g_obex_packet_encode call site: 00096 /src/bluez/gobex/gobex-packet.c:438
0 0 None 8 31 g_obex_packet_encode call site: 00095 /src/bluez/gobex/gobex-packet.c:416
0 0 None 4 16 g_obex_header_decode call site: 00056 /src/bluez/gobex/gobex-header.c:154
0 0 None 4 16 g_obex_header_decode call site: 00066 /src/bluez/gobex/gobex-header.c:199
0 0 None 4 8 g_obex_header_decode call site: 00050 /src/bluez/gobex/gobex-header.c:137
0 0 None 4 8 g_obex_packet_decode call site: 00002 /src/bluez/gobex/gobex-packet.c:320
0 0 None 4 8 g_obex_packet_decode call site: 00006 /src/bluez/gobex/gobex-packet.c:329
0 0 None 4 8 g_obex_packet_decode call site: 00011 /src/bluez/gobex/gobex-packet.c:343
0 0 None 0 2 g_obex_header_encode call site: 00104 /src/bluez/gobex/gobex-header.c:107
0 0 None 0 0 g_obex_header_encode call site: 00097 /src/bluez/gobex/gobex-header.c:88
0 0 None 0 0 g_obex_header_encode call site: 00099 /src/bluez/gobex/gobex-header.c:96

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 g_obex_packet_decode [function] [call site] 00001
2 g_log [call site] 00002
2 g_obex_error_quark [function] [call site] 00003
3 g_quark_from_static_string [call site] 00004
2 g_set_error [call site] 00005
2 g_log [call site] 00006
2 g_obex_error_quark [function] [call site] 00007
2 g_set_error [call site] 00008
2 g_log [call site] 00009
2 get_bytes [function] [call site] 00010
2 get_bytes [function] [call site] 00011
2 g_obex_error_quark [function] [call site] 00012
2 g_set_error [call site] 00013
2 g_log [call site] 00014
2 g_obex_packet_new [function] [call site] 00015
3 g_log [call site] 00016
3 g_obex_packet_new_valist [function] [call site] 00017
4 g_log [call site] 00018
4 g_malloc0_n [call site] 00019
4 g_obex_header_create_list [function] [call site] 00020
5 g_log [call site] 00021
5 g_obex_header_new_unicode [function] [call site] 00022
6 g_log [call site] 00023
6 g_malloc0_n [call site] 00024
6 g_utf8_strlen [call site] 00025
6 strlen [call site] 00026
6 g_log [call site] 00027
5 g_obex_header_new_bytes [function] [call site] 00028
6 g_log [call site] 00029
6 g_malloc0_n [call site] 00030
6 util_memdup [function] [call site] 00031
7 util_malloc [function] [call site] 00032
8 fprintf [call site] 00033
8 abort [call site] 00034
5 g_obex_header_new_uint8 [function] [call site] 00035
6 g_log [call site] 00036
6 g_malloc0_n [call site] 00037
6 g_log [call site] 00038
5 g_obex_header_new_uint32 [function] [call site] 00039
6 g_log [call site] 00040
6 g_malloc0_n [call site] 00041
6 g_log [call site] 00042
5 g_assertion_message_expr [call site] 00043
5 g_slist_append [call site] 00044
2 g_obex_packet_set_data [function] [call site] 00045
3 g_log [call site] 00046
3 util_memdup [function] [call site] 00047
2 parse_headers [function] [call site] 00048
3 g_log [call site] 00049
3 g_obex_header_decode [function] [call site] 00050
4 g_obex_error_quark [function] [call site] 00051
4 g_set_error [call site] 00052
4 g_log [call site] 00053
4 g_malloc0_n [call site] 00054
4 get_bytes [function] [call site] 00055
4 g_log [call site] 00056
4 g_obex_error_quark [function] [call site] 00057
4 g_set_error [call site] 00058
4 get_bytes [function] [call site] 00059
4 strlen [call site] 00060
4 g_obex_error_quark [function] [call site] 00061
4 g_set_error [call site] 00062
4 g_convert [call site] 00063
4 g_obex_error_quark [function] [call site] 00064
4 g_set_error [call site] 00065
4 g_error_free [call site] 00066
4 g_obex_error_quark [function] [call site] 00067
4 g_set_error [call site] 00068
4 get_bytes [function] [call site] 00069
4 g_obex_error_quark [function] [call site] 00070
4 g_set_error [call site] 00071
4 g_obex_error_quark [function] [call site] 00072
4 g_set_error [call site] 00073
4 util_memdup [function] [call site] 00074
4 g_obex_error_quark [function] [call site] 00075
4 g_set_error [call site] 00076
4 g_obex_error_quark [function] [call site] 00077
4 g_set_error [call site] 00078
4 get_bytes [function] [call site] 00079
4 g_assertion_message_expr [call site] 00080
4 g_log [call site] 00081
4 g_obex_header_free [function] [call site] 00082
5 g_log [call site] 00083
5 g_free [call site] 00084
5 g_assertion_message_expr [call site] 00085
5 g_free [call site] 00086
3 g_slist_append [call site] 00087
2 g_obex_packet_free [function] [call site] 00088
3 g_log [call site] 00089
3 g_slist_foreach [call site] 00090
3 header_free [function] [call site] 00091
4 g_obex_header_free [function] [call site] 00092
3 g_free [call site] 00093
1 g_obex_packet_encode [function] [call site] 00094
2 g_log [call site] 00095
2 g_obex_header_encode [function] [call site] 00096
3 g_log [call site] 00097
3 put_bytes [function] [call site] 00098
3 utf8_to_utf16 [function] [call site] 00099
3 g_assertion_message_cmpint [call site] 00100
3 put_bytes [function] [call site] 00101
3 put_bytes [function] [call site] 00102
3 g_free [call site] 00103
3 put_bytes [function] [call site] 00104
3 put_bytes [function] [call site] 00105
3 put_bytes [function] [call site] 00106
3 put_bytes [function] [call site] 00107
3 g_assertion_message_expr [call site] 00108
1 g_obex_packet_free [function] [call site] 00110