Fuzz introspector: libfwps_record_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
16 16 5 :

['free', 'libcerror_error_resize', 'libcerror_error_initialize', 'strlen', 'realloc']

16 16 libcerror_error_set call site: 00002 /src/libcaes/libcerror/libcerror_error.c:328
0 64 1 :

['libcerror_error_set']

0 64 libcdata_internal_array_resize call site: 00076 /src/libfplist/libcdata/libcdata_array.c:823
0 32 2 :

['free', 'libcerror_error_set']

0 32 libcdata_array_initialize call site: 00021 /src/libfplist/libcdata/libcdata_array.c:162
0 32 1 :

['libcerror_error_set']

0 32 libcdata_array_free call site: 00105 /src/libfplist/libcdata/libcdata_array.c:260
0 32 1 :

['libcerror_error_set']

0 32 libcdata_internal_array_resize call site: 00075 /src/libfplist/libcdata/libcdata_array.c:797
0 32 1 :

['libcerror_error_set']

0 32 libcdata_array_get_number_of_entries call site: 00086 /src/libfplist/libcdata/libcdata_array.c:1052
0 32 1 :

['libcerror_error_set']

0 32 libcdata_array_get_entry_by_index call site: 00094 /src/libfplist/libcdata/libcdata_array.c:1146
0 32 1 :

['libcerror_error_set']

0 32 libcdata_array_append_entry call site: 00069 /src/libfplist/libcdata/libcdata_array.c:1609
0 32 2 :

['free', 'libcerror_error_set']

0 32 libfwps_record_initialize call site: 00039 /src/libfwps/libfwps/libfwps_record.c:98
0 32 1 :

['libcerror_error_set']

0 32 libfwps_record_free call site: 00097 /src/libfwps/libfwps/libfwps_record.c:136
0 32 1 :

['libcerror_error_set']

0 32 libfwps_internal_record_free call site: 00081 /src/libfwps/libfwps/libfwps_record.c:163
0 32 2 :

['free', 'libcerror_error_set']

0 32 libfwps_record_copy_from_byte_stream call site: 00062 /src/libfwps/libfwps/libfwps_record.c:698

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 libfwps_set_initialize [function] [call site] 00001
2 libcerror_error_set [function] [call site] 00002
3 strlen [call site] 00003
3 libcerror_error_initialize [function] [call site] 00004
3 libcerror_error_resize [function] [call site] 00005
4 realloc [call site] 00006
4 realloc [call site] 00007
3 realloc [call site] 00008
3 vsnprintf [call site] 00009
2 libcerror_error_set [function] [call site] 00010
2 libcerror_error_set [function] [call site] 00011
2 libcerror_error_set [function] [call site] 00012
2 libcdata_array_initialize [function] [call site] 00013
3 libcerror_error_set [function] [call site] 00014
3 libcerror_error_set [function] [call site] 00015
3 libcerror_error_set [function] [call site] 00016
3 libcerror_error_set [function] [call site] 00017
3 libcerror_error_set [function] [call site] 00018
3 libcerror_error_set [function] [call site] 00019
3 libcerror_error_set [function] [call site] 00020
3 libcerror_error_set [function] [call site] 00021
3 libcerror_error_set [function] [call site] 00022
2 libcerror_error_set [function] [call site] 00023
1 libfwps_set_copy_from_byte_stream [function] [call site] 00024
2 libcerror_error_set [function] [call site] 00025
2 libcerror_error_set [function] [call site] 00026
2 libcerror_error_set [function] [call site] 00027
2 memcmp [call site] 00028
2 libcerror_error_set [function] [call site] 00029
2 libcerror_error_set [function] [call site] 00030
2 libcerror_error_set [function] [call site] 00031
2 memcmp [call site] 00032
2 libcerror_error_set [function] [call site] 00033
2 libcerror_error_set [function] [call site] 00034
2 libfwps_record_initialize [function] [call site] 00035
3 libcerror_error_set [function] [call site] 00036
3 libcerror_error_set [function] [call site] 00037
3 libcerror_error_set [function] [call site] 00038
3 libcerror_error_set [function] [call site] 00039
3 libcerror_error_set [function] [call site] 00040
2 libcerror_error_set [function] [call site] 00041
2 libfwps_record_copy_from_byte_stream [function] [call site] 00042
3 libcerror_error_set [function] [call site] 00043
3 libcerror_error_set [function] [call site] 00044
3 libcerror_error_set [function] [call site] 00045
3 libcerror_error_set [function] [call site] 00046
3 libcerror_error_set [function] [call site] 00047
3 libcerror_error_set [function] [call site] 00048
3 libcerror_error_set [function] [call site] 00049
3 libcerror_error_set [function] [call site] 00050
3 libcerror_error_set [function] [call site] 00051
3 libcerror_error_set [function] [call site] 00052
3 libcerror_error_set [function] [call site] 00053
3 libcerror_error_set [function] [call site] 00054
3 libcerror_error_set [function] [call site] 00055
3 libcerror_error_set [function] [call site] 00056
3 libcerror_error_set [function] [call site] 00057
3 libcerror_error_set [function] [call site] 00058
3 libcerror_error_set [function] [call site] 00059
3 libcerror_error_set [function] [call site] 00060
3 libcerror_error_set [function] [call site] 00061
3 libcerror_error_set [function] [call site] 00062
3 libcerror_error_set [function] [call site] 00063
2 libcerror_error_set [function] [call site] 00064
2 libcdata_array_append_entry [function] [call site] 00065
3 libcerror_error_set [function] [call site] 00066
3 libcerror_error_set [function] [call site] 00067
3 libcerror_error_set [function] [call site] 00068
3 libcdata_internal_array_resize [function] [call site] 00069
4 libcerror_error_set [function] [call site] 00070
4 libcerror_error_set [function] [call site] 00071
4 libcerror_error_set [function] [call site] 00072
4 libcerror_error_set [function] [call site] 00073
4 libcerror_error_set [function] [call site] 00074
4 realloc [call site] 00075
4 libcerror_error_set [function] [call site] 00076
4 libcerror_error_set [function] [call site] 00077
4 libcerror_error_set [function] [call site] 00078
3 libcerror_error_set [function] [call site] 00079
2 libcerror_error_set [function] [call site] 00080
2 libfwps_internal_record_free [function] [call site] 00081
3 libcerror_error_set [function] [call site] 00082
1 libfwps_set_get_number_of_records [function] [call site] 00083
2 libcerror_error_set [function] [call site] 00084
2 libcdata_array_get_number_of_entries [function] [call site] 00085
3 libcerror_error_set [function] [call site] 00086
3 libcerror_error_set [function] [call site] 00087
2 libcerror_error_set [function] [call site] 00088
1 libfwps_set_get_record_by_index [function] [call site] 00089
2 libcerror_error_set [function] [call site] 00090
2 libcdata_array_get_entry_by_index [function] [call site] 00091
3 libcerror_error_set [function] [call site] 00092
3 libcerror_error_set [function] [call site] 00093
3 libcerror_error_set [function] [call site] 00094
3 libcerror_error_set [function] [call site] 00095
2 libcerror_error_set [function] [call site] 00096
1 libfwps_record_free [function] [call site] 00097
2 libcerror_error_set [function] [call site] 00098
1 libfwps_set_free [function] [call site] 00099
2 libcerror_error_set [function] [call site] 00100
2 libfwps_internal_set_free [function] [call site] 00101
3 libcerror_error_set [function] [call site] 00102
3 libcdata_array_free [function] [call site] 00103
4 libcerror_error_set [function] [call site] 00104
4 libcdata_internal_array_clear [function] [call site] 00105
5 libcerror_error_set [function] [call site] 00106
5 libcerror_error_set [function] [call site] 00107
5 libcerror_error_set [function] [call site] 00108
4 libcerror_error_set [function] [call site] 00109
3 libfwps_internal_record_free [function] [call site] 00110
3 libcerror_error_set [function] [call site] 00111