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 105 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: 00102 /src/bluez/gobex/gobex-packet.c:438
0 0 None 8 31 g_obex_packet_encode call site: 00101 /src/bluez/gobex/gobex-packet.c:416
0 0 None 4 8 g_obex_header_decode call site: 00052 /src/bluez/gobex/gobex-header.c:165
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: 00111 /src/bluez/gobex/gobex-header.c:135
0 0 None 0 0 g_obex_header_encode call site: 00103 /src/bluez/gobex/gobex-header.c:116
0 0 None 0 0 g_obex_header_encode call site: 00105 /src/bluez/gobex/gobex-header.c:124
0 0 None 0 0 utf8_to_utf16 call site: 00106 /src/bluez/gobex/gobex-header.c:52
0 0 None 0 0 g_obex_packet_encode call site: 00101 /src/bluez/gobex/gobex-packet.c:428

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_malloc [call site] 00027
6 g_strdup [call site] 00028
6 g_log [call site] 00029
5 g_obex_header_new_bytes [function] [call site] 00030
6 g_log [call site] 00031
6 g_malloc0_n [call site] 00032
6 util_memdup [function] [call site] 00033
7 util_malloc [function] [call site] 00034
8 fprintf [call site] 00035
8 abort [call site] 00036
5 g_obex_header_new_uint8 [function] [call site] 00037
6 g_log [call site] 00038
6 g_malloc0_n [call site] 00039
6 g_log [call site] 00040
5 g_obex_header_new_uint32 [function] [call site] 00041
6 g_log [call site] 00042
6 g_malloc0_n [call site] 00043
6 g_log [call site] 00044
5 g_assertion_message_expr [call site] 00045
5 g_slist_append [call site] 00046
2 g_obex_packet_set_data [function] [call site] 00047
3 g_log [call site] 00048
3 util_memdup [function] [call site] 00049
2 parse_headers [function] [call site] 00050
3 g_log [call site] 00051
3 g_obex_header_decode [function] [call site] 00052
4 g_obex_error_quark [function] [call site] 00053
4 g_set_error [call site] 00054
4 g_log [call site] 00055
4 g_malloc0_n [call site] 00056
4 get_bytes [function] [call site] 00057
4 g_log [call site] 00058
4 g_obex_error_quark [function] [call site] 00059
4 g_set_error [call site] 00060
4 get_bytes [function] [call site] 00061
4 strlen [call site] 00062
4 g_malloc [call site] 00063
4 g_strdup [call site] 00064
4 g_obex_error_quark [function] [call site] 00065
4 g_set_error [call site] 00066
4 utf16_to_utf8 [function] [call site] 00067
5 g_utf16_to_utf8 [call site] 00068
4 g_obex_error_quark [function] [call site] 00069
4 g_set_error [call site] 00070
4 g_error_free [call site] 00071
4 g_obex_error_quark [function] [call site] 00072
4 g_set_error [call site] 00073
4 get_bytes [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 util_memdup [function] [call site] 00079
4 g_obex_error_quark [function] [call site] 00080
4 g_set_error [call site] 00081
4 g_obex_error_quark [function] [call site] 00082
4 g_set_error [call site] 00083
4 get_bytes [function] [call site] 00084
4 g_assertion_message_expr [call site] 00085
4 g_log [call site] 00086
4 g_obex_header_free [function] [call site] 00087
5 g_log [call site] 00088
5 g_free [call site] 00089
5 g_assertion_message_expr [call site] 00090
5 g_free [call site] 00091
3 g_slist_append [call site] 00092
2 g_obex_packet_free [function] [call site] 00093
3 g_log [call site] 00094
3 g_slist_foreach [call site] 00095
3 header_free [function] [call site] 00096
4 g_obex_header_free [function] [call site] 00097
3 g_slist_free [call site] 00098
3 g_free [call site] 00099
1 g_obex_packet_encode [function] [call site] 00100
2 g_log [call site] 00101
2 g_obex_header_encode [function] [call site] 00102
3 g_log [call site] 00103
3 put_bytes [function] [call site] 00104
3 utf8_to_utf16 [function] [call site] 00105
4 g_utf8_to_utf16 [call site] 00106
3 g_assertion_message_cmpint [call site] 00107
3 put_bytes [function] [call site] 00108
3 put_bytes [function] [call site] 00109
3 g_free [call site] 00110
3 put_bytes [function] [call site] 00111
3 put_bytes [function] [call site] 00112
3 put_bytes [function] [call site] 00113
3 put_bytes [function] [call site] 00114
3 g_assertion_message_expr [call site] 00115
2 get_body [function] [call site] 00116
3 g_log [call site] 00117
1 g_obex_packet_free [function] [call site] 00118