Fuzz introspector: fuzz_format_sas7bdat
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
47 47 3 :

['readstat_error_message', '__errno_location', 'strerror']

47 61 readstat_parse_sas7bdat call site: 00197 /src/readstat/src/sas/readstat_sas7bdat_read.c:1291
0 7 1 :

['readstat_parser_free']

0 7 readstat_parser_init call site: 00005 /src/readstat/src/readstat_parser.c:9
0 0 None 51 851 readstat_parse_sas7bdat call site: 00051 /src/readstat/src/sas/readstat_sas7bdat_read.c:1180
0 0 None 47 61 readstat_parse_sas7bdat call site: 00051 /src/readstat/src/sas/readstat_sas7bdat_read.c:1183
0 0 None 47 61 readstat_parse_sas7bdat call site: 00051 /src/readstat/src/sas/readstat_sas7bdat_read.c:1188
0 0 None 47 61 readstat_parse_sas7bdat call site: 00052 /src/readstat/src/sas/readstat_sas7bdat_read.c:1197
0 0 None 47 61 readstat_parse_sas7bdat call site: 00074 /src/readstat/src/sas/readstat_sas7bdat_read.c:1226
0 0 None 47 61 readstat_parse_sas7bdat call site: 00146 /src/readstat/src/sas/readstat_sas7bdat_read.c:1253
0 0 None 47 61 readstat_parse_sas7bdat call site: 00195 /src/readstat/src/sas/readstat_sas7bdat_read.c:1273
0 0 None 0 53 sas7bdat_submit_columns call site: 00166 /src/readstat/src/sas/readstat_sas7bdat_read.c:777
0 0 None 0 39 sas7bdat_parse_single_row call site: 00176 /src/readstat/src/sas/readstat_sas7bdat_read.c:468
0 0 None 0 10 sas7bdat_handle_data_value call site: 00179 /src/readstat/src/sas/readstat_sas7bdat_read.c:416

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 fuzzer_parser_init [function] [call site] 00001
2 readstat_parser_init [function] [call site] 00002
3 calloc [call site] 00003
3 calloc [call site] 00004
3 unistd_io_init [function] [call site] 00005
4 readstat_set_open_handler [function] [call site] 00006
4 unistd_open_handler [function] [call site] 00007
5 open_with_unicode [function] [call site] 00008
6 open [call site] 00009
4 readstat_set_close_handler [function] [call site] 00010
4 unistd_close_handler [function] [call site] 00011
5 close [call site] 00012
4 readstat_set_seek_handler [function] [call site] 00013
4 unistd_seek_handler [function] [call site] 00014
5 lseek [call site] 00015
4 readstat_set_read_handler [function] [call site] 00016
4 unistd_read_handler [function] [call site] 00017
5 read [call site] 00018
4 readstat_set_update_handler [function] [call site] 00019
4 unistd_update_handler [function] [call site] 00020
5 lseek [call site] 00021
4 calloc [call site] 00022
4 readstat_set_io_ctx [function] [call site] 00023
3 readstat_parser_free [function] [call site] 00024
4 readstat_set_io_ctx [function] [call site] 00025
2 readstat_set_open_handler [function] [call site] 00026
2 rt_open_handler [function] [call site] 00027
2 readstat_set_close_handler [function] [call site] 00028
2 rt_close_handler [function] [call site] 00029
2 readstat_set_seek_handler [function] [call site] 00030
2 rt_seek_handler [function] [call site] 00031
2 readstat_set_read_handler [function] [call site] 00032
2 rt_read_handler [function] [call site] 00033
2 readstat_set_update_handler [function] [call site] 00034
2 rt_update_handler [function] [call site] 00035
2 readstat_set_metadata_handler [function] [call site] 00036
2 handle_metadata [function] [call site] 00037
2 readstat_set_note_handler [function] [call site] 00038
2 handle_note [function] [call site] 00039
2 readstat_set_variable_handler [function] [call site] 00040
2 handle_variable [function] [call site] 00041
2 readstat_set_fweight_handler [function] [call site] 00042
2 handle_fweight [function] [call site] 00043
2 readstat_set_value_handler [function] [call site] 00044
2 handle_value [function] [call site] 00045
2 readstat_set_value_label_handler [function] [call site] 00046
2 handle_value_label [function] [call site] 00047
1 readstat_set_io_ctx [function] [call site] 00048
1 readstat_parse_sas7bdat [function] [call site] 00049
2 calloc [call site] 00050
2 calloc [call site] 00051
2 snprintf [call site] 00052
2 snprintf [call site] 00053
2 sas_read_header [function] [call site] 00054
3 sas_epoch [function] [call site] 00055
3 memcmp [call site] 00056
3 memcmp [call site] 00057
3 machine_is_little_endian [function] [call site] 00058
3 machine_is_little_endian [function] [call site] 00059
3 snprintf [call site] 00060
3 byteswap_double [function] [call site] 00061
4 byteswap8 [function] [call site] 00062
3 byteswap_double [function] [call site] 00063
3 sas_convert_time [function] [call site] 00064
3 sas_convert_time [function] [call site] 00065
3 byteswap4 [function] [call site] 00066
3 byteswap4 [function] [call site] 00067
3 byteswap8 [function] [call site] 00068
3 byteswap4 [function] [call site] 00069
3 snprintf [call site] 00070
3 __isoc99_sscanf [call site] 00071
3 snprintf [call site] 00072
2 machine_is_little_endian [function] [call site] 00073
2 readstat_malloc [function] [call site] 00074
2 strcmp [call site] 00075
2 iconv_open [call site] 00076
2 readstat_convert [function] [call site] 00077
3 iconv [call site] 00078
3 __errno_location [call site] 00079
3 __errno_location [call site] 00080
3 __errno_location [call site] 00081
2 sas7bdat_parse_meta_pages_pass1 [function] [call site] 00082
3 snprintf [call site] 00083
3 sas7bdat_parse_page_pass1 [function] [call site] 00086
4 sas_read2 [function] [call site] 00087
4 sas7bdat_parse_subheader_pointer [function] [call site] 00088
4 sas7bdat_validate_subheader_pointer [function] [call site] 00095
4 sas_read4 [function] [call site] 00096
4 sas_read4 [function] [call site] 00097
4 sas7bdat_parse_subheader [function] [call site] 00098
5 sas7bdat_parse_row_size_subheader [function] [call site] 00099
6 sas_read8 [function] [call site] 00100
6 sas_read8 [function] [call site] 00101
6 sas_read8 [function] [call site] 00102
6 sas_read4 [function] [call site] 00103
6 sas_read4 [function] [call site] 00104
6 sas_read4 [function] [call site] 00105
6 sas7bdat_parse_text_ref [function] [call site] 00106
6 sas7bdat_copy_text_ref [function] [call site] 00110
7 readstat_convert [function] [call site] 00111
6 sas7bdat_parse_text_ref [function] [call site] 00112
6 sas7bdat_copy_text_ref [function] [call site] 00113
6 memcmp [call site] 00114
6 readstat_realloc [function] [call site] 00115
7 realloc [call site] 00116
5 sas7bdat_parse_column_size_subheader [function] [call site] 00117
6 sas_read8 [function] [call site] 00118
6 sas_read4 [function] [call site] 00119
6 sas7bdat_realloc_col_info [function] [call site] 00120
7 readstat_realloc [function] [call site] 00121
5 sas7bdat_parse_column_text_subheader [function] [call site] 00122
6 sas_read2 [function] [call site] 00123
6 sas_subheader_remainder [function] [call site] 00124
6 readstat_realloc [function] [call site] 00125
6 readstat_realloc [function] [call site] 00126
6 readstat_malloc [function] [call site] 00127
5 sas7bdat_parse_column_name_subheader [function] [call site] 00128
6 sas_read2 [function] [call site] 00129
6 sas_subheader_remainder [function] [call site] 00130
6 sas7bdat_realloc_col_info [function] [call site] 00131
6 sas7bdat_parse_text_ref [function] [call site] 00132
5 sas7bdat_parse_column_attributes_subheader [function] [call site] 00133
6 sas_read2 [function] [call site] 00134
6 sas_subheader_remainder [function] [call site] 00135
6 sas7bdat_realloc_col_info [function] [call site] 00136
6 sas_read8 [function] [call site] 00137
6 sas_read4 [function] [call site] 00138
6 sas_read4 [function] [call site] 00139
5 sas7bdat_parse_column_format_subheader [function] [call site] 00140
6 sas7bdat_realloc_col_info [function] [call site] 00141
6 sas_read2 [function] [call site] 00142
6 sas7bdat_parse_text_ref [function] [call site] 00143
6 sas7bdat_parse_text_ref [function] [call site] 00144
3 snprintf [call site] 00145
2 sas7bdat_parse_amd_pages_pass1 [function] [call site] 00146
3 snprintf [call site] 00147
3 sas_read2 [function] [call site] 00148
3 sas7bdat_parse_page_pass1 [function] [call site] 00149
3 snprintf [call site] 00150
2 snprintf [call site] 00151
2 sas7bdat_parse_all_pages_pass2 [function] [call site] 00152
3 sas7bdat_update_progress [function] [call site] 00153
3 sas7bdat_parse_page_pass2 [function] [call site] 00154
4 sas_read2 [function] [call site] 00155
4 sas_read2 [function] [call site] 00156
4 sas_read2 [function] [call site] 00157
4 sas7bdat_parse_subheader_pointer [function] [call site] 00158
4 sas7bdat_validate_subheader_pointer [function] [call site] 00159
4 sas_read4 [function] [call site] 00160
4 sas_read4 [function] [call site] 00161
4 sas7bdat_signature_is_recognized [function] [call site] 00162
4 sas7bdat_submit_columns_if_needed [function] [call site] 00163
5 sas7bdat_submit_columns [function] [call site] 00164
6 readstat_calloc [function] [call site] 00165
6 sas7bdat_init_variable [function] [call site] 00166
7 readstat_calloc [function] [call site] 00167
7 sas7bdat_validate_column [function] [call site] 00168
7 sas7bdat_copy_text_ref [function] [call site] 00169
7 sas7bdat_copy_text_ref [function] [call site] 00170
7 strlen [call site] 00171
7 snprintf [call site] 00172
7 sas7bdat_copy_text_ref [function] [call site] 00173
7 snprintf [call site] 00174
4 sas7bdat_parse_single_row [function] [call site] 00175
5 readstat_realloc [function] [call site] 00176
5 sas7bdat_handle_data_value [function] [call site] 00177
6 readstat_convert [function] [call site] 00178
6 snprintf [call site] 00179
6 sas_assign_tag [function] [call site] 00180
7 sas_validate_tag [function] [call site] 00181
4 sas7bdat_parse_subheader [function] [call site] 00182
4 sas7bdat_submit_columns_if_needed [function] [call site] 00183
4 sas7bdat_parse_subheader_compressed [function] [call site] 00184
5 sas7bdat_parse_subheader_rdc [function] [call site] 00185
6 sas7bdat_parse_single_row [function] [call site] 00186
5 sas7bdat_parse_subheader_rle [function] [call site] 00187
6 sas_rle_decompress [function] [call site] 00188
6 snprintf [call site] 00189
6 sas7bdat_parse_single_row [function] [call site] 00190
4 sas7bdat_submit_columns_if_needed [function] [call site] 00191
4 sas7bdat_parse_rows [function] [call site] 00192
5 sas7bdat_parse_single_row [function] [call site] 00193
3 snprintf [call site] 00194
2 sas7bdat_submit_columns_if_needed [function] [call site] 00195
2 snprintf [call site] 00196
2 sas7bdat_update_progress [function] [call site] 00197
2 readstat_error_message [function] [call site] 00198
2 __errno_location [call site] 00199
2 snprintf [call site] 00200
2 sas7bdat_ctx_free [function] [call site] 00201
3 iconv_close [call site] 00202
1 readstat_parser_free [function] [call site] 00203