Fuzz introspector: fuzz_sonmp
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
63 63 1 :

['log_warn']

63 155 sonmp_decode call site: 00052 /src/lldpd/src/daemon/protocols/sonmp.c:372
40 40 5 :

['isatty', 'date', 'fflush', 'vsyslog', 'translate']

40 40 vlog call site: 00007 /src/lldpd/src/log.c:154
2 2 1 :

['__errno_location']

128 220 sonmp_decode call site: 00043 /src/lldpd/src/daemon/protocols/sonmp.c:354
2 2 1 :

['__errno_location']

2 2 lldpd_alloc_mgmt call site: 00047 /src/lldpd/src/daemon/lldpd.c:278
0 147 4 :

['lldpd_port_cleanup', 'free', 'log_warnx', 'lldpd_chassis_cleanup']

0 147 sonmp_decode call site: 00054 /src/lldpd/src/daemon/protocols/sonmp.c:380
0 147 4 :

['lldpd_port_cleanup', 'free', 'log_warnx', 'lldpd_chassis_cleanup']

0 147 sonmp_decode call site: 00056 /src/lldpd/src/daemon/protocols/sonmp.c:386
0 0 None 63 155 sonmp_decode call site: 00037 /src/lldpd/src/daemon/protocols/sonmp.c:328
0 0 None 63 63 sonmp_decode call site: 00020 /src/lldpd/src/daemon/protocols/sonmp.c:292
0 0 None 63 63 sonmp_decode call site: 00030 /src/lldpd/src/daemon/protocols/sonmp.c:297
0 0 None 2 2 lldpd_alloc_mgmt call site: 00044 /src/lldpd/src/daemon/lldpd.c:269
0 0 None 2 2 lldpd_alloc_mgmt call site: 00045 /src/lldpd/src/daemon/lldpd.c:273
0 0 None 0 147 sonmp_decode call site: 00039 /src/lldpd/src/daemon/protocols/sonmp.c:337

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 log_register [function] [call site] 00001
1 donothing [function] [call site] 00002
1 sonmp_decode [function] [call site] 00003
2 log_debug [function] [call site] 00004
3 log_debug_accept_token [function] [call site] 00005
4 strcmp [call site] 00006
3 vlog [function] [call site] 00007
4 vasprintf [call site] 00008
4 vsyslog [call site] 00009
4 date [function] [call site] 00010
5 time [call site] 00011
5 localtime [call site] 00012
5 strftime [call site] 00013
4 isatty [call site] 00014
4 asprintf [call site] 00015
4 vfprintf [call site] 00016
4 fprintf [call site] 00017
4 vfprintf [call site] 00018
4 fflush [call site] 00019
2 calloc [call site] 00020
2 log_warn [function] [call site] 00021
3 __errno_location [call site] 00022
3 __errno_location [call site] 00025
3 __errno_location [call site] 00027
2 calloc [call site] 00030
2 memcmp [call site] 00034
2 ntohs [call site] 00035
2 log_debug [function] [call site] 00036
2 calloc [call site] 00037
2 inet_ntoa [call site] 00039
2 log_warnx [function] [call site] 00040
2 asprintf [call site] 00041
2 log_warnx [function] [call site] 00042
2 lldpd_alloc_mgmt [function] [call site] 00043
3 log_debug [function] [call site] 00044
3 __errno_location [call site] 00045
3 __errno_location [call site] 00046
3 calloc [call site] 00047
3 __errno_location [call site] 00048
2 __errno_location [call site] 00049
2 asprintf [call site] 00052
2 asprintf [call site] 00054
2 log_warnx [function] [call site] 00055
2 asprintf [call site] 00056
2 log_warnx [function] [call site] 00057
2 asprintf [call site] 00058
2 log_warnx [function] [call site] 00059
2 lldpd_chassis_cleanup [function] [call site] 00060
3 lldpd_chassis_mgmt_cleanup [function] [call site] 00061
4 log_debug [function] [call site] 00062
3 log_debug [function] [call site] 00063
2 lldpd_port_cleanup [function] [call site] 00064
3 lldpd_vlan_cleanup [function] [call site] 00065
3 lldpd_ppvid_cleanup [function] [call site] 00066
3 lldpd_pi_cleanup [function] [call site] 00067
3 lldpd_custom_list_cleanup [function] [call site] 00068
1 lldpd_port_cleanup [function] [call site] 00069
1 lldpd_chassis_cleanup [function] [call site] 00070