Fuzz introspector: libteken_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
0 0 None 0 76 teken_subr_regular_character call site: 00075 /src/libteken/./teken_subr.h:838
0 0 None 0 0 teken_trim_cursor_pos call site: 00239 /src/libteken/teken.c:383
0 0 None 0 0 teken_scs_special_graphics call site: 00070 /src/libteken/./teken_scs.h:60
0 0 None 0 0 teken_tab_set call site: 00007 /src/libteken/./teken_subr.h:70
0 0 None 0 0 teken_tab_isset call site: 00114 /src/libteken/./teken_subr.h:42
0 0 None 0 0 teken_subr_do_cpr call site: 00119 /src/libteken/./teken_subr.h:166
0 0 None 0 0 teken_tab_clear call site: 00131 /src/libteken/./teken_subr.h:56
0 0 None 0 0 teken_wcwidth call site: 00078 /src/libteken/./teken_wcwidth.h:94

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 teken_init [function] [call site] 00001
2 teken_state_init [function] [call site] 00002
3 teken_state_switch [function] [call site] 00003
3 teken_state_1 [function] [call site] 00004
4 teken_subr_operating_system_command [function] [call site] 00005
4 teken_subr_horizontal_tab_set [function] [call site] 00006
5 teken_tab_set [function] [call site] 00007
4 teken_subr_reverse_index [function] [call site] 00008
5 teken_funcs_cursor [function] [call site] 00009
6 __assert_fail [call site] 00010
6 __assert_fail [call site] 00011
6 __assert_fail [call site] 00012
5 teken_subr_do_scroll [function] [call site] 00013
6 __assert_fail [call site] 00014
6 __assert_fail [call site] 00015
6 teken_funcs_copy [function] [call site] 00016
7 __assert_fail [call site] 00017
7 __assert_fail [call site] 00018
7 __assert_fail [call site] 00019
7 __assert_fail [call site] 00020
7 __assert_fail [call site] 00021
7 __assert_fail [call site] 00022
7 __assert_fail [call site] 00023
6 teken_funcs_fill [function] [call site] 00024
7 __assert_fail [call site] 00025
7 __assert_fail [call site] 00026
7 __assert_fail [call site] 00027
7 __assert_fail [call site] 00028
7 __assert_fail [call site] 00029
6 teken_funcs_copy [function] [call site] 00030
6 teken_funcs_fill [function] [call site] 00031
4 teken_subr_device_control_string [function] [call site] 00032
4 teken_subr_save_cursor [function] [call site] 00033
4 teken_subr_index [function] [call site] 00034
5 teken_funcs_cursor [function] [call site] 00035
5 teken_subr_do_scroll [function] [call site] 00036
4 teken_subr_string_terminator [function] [call site] 00037
4 teken_subr_restore_cursor [function] [call site] 00038
5 teken_funcs_cursor [function] [call site] 00039
4 teken_subr_keypad_application_mode [function] [call site] 00040
5 teken_funcs_param [function] [call site] 00041
6 __assert_fail [call site] 00042
4 teken_subr_keypad_numeric_mode [function] [call site] 00043
5 teken_funcs_param [function] [call site] 00044
4 teken_subr_next_line [function] [call site] 00045
5 teken_subr_newline [function] [call site] 00046
6 teken_subr_do_scroll [function] [call site] 00047
6 teken_funcs_cursor [function] [call site] 00048
4 teken_subr_reset_to_initial_state [function] [call site] 00049
5 teken_subr_do_reset [function] [call site] 00050
6 teken_scs_us_ascii [function] [call site] 00051
6 teken_scs_us_ascii [function] [call site] 00052
6 teken_subr_save_cursor [function] [call site] 00053
6 teken_tab_default [function] [call site] 00054
7 teken_tab_set [function] [call site] 00055
5 teken_subr_erase_display [function] [call site] 00056
6 teken_subr_erase_line [function] [call site] 00057
7 teken_funcs_fill [function] [call site] 00058
6 teken_subr_erase_line [function] [call site] 00059
6 teken_funcs_fill [function] [call site] 00060
5 teken_funcs_param [function] [call site] 00061
5 teken_funcs_cursor [function] [call site] 00062
4 teken_state_switch [function] [call site] 00063
4 teken_state_8 [function] [call site] 00064
5 teken_subr_g1_scs_us_ascii [function] [call site] 00065
6 teken_scs_us_ascii [function] [call site] 00066
5 teken_subr_g1_scs_uk_national [function] [call site] 00067
6 teken_scs_uk_national [function] [call site] 00068
5 teken_subr_g1_scs_special_graphics [function] [call site] 00069
6 teken_scs_special_graphics [function] [call site] 00070
5 teken_subr_g1_scs_us_ascii [function] [call site] 00071
5 teken_subr_g1_scs_special_graphics [function] [call site] 00072
5 teken_state_switch [function] [call site] 00073
5 teken_state_init [function] [call site] 00074
6 teken_subr_regular_character [function] [call site] 00075
7 teken_scs_process [function] [call site] 00076
7 teken_scs_process [function] [call site] 00077
7 teken_wcwidth [function] [call site] 00078
7 teken_subr_do_putchar [function] [call site] 00080
8 teken_funcs_copy [function] [call site] 00081
8 teken_funcs_putchar [function] [call site] 00082
9 __assert_fail [call site] 00083
9 __assert_fail [call site] 00084
9 __assert_fail [call site] 00085
8 teken_funcs_putchar [function] [call site] 00086
7 teken_subr_do_scroll [function] [call site] 00087
7 teken_subr_do_scroll [function] [call site] 00088
7 teken_subr_do_putchar [function] [call site] 00089
7 teken_subr_do_putchar [function] [call site] 00090
7 teken_subr_do_putchar [function] [call site] 00091
7 teken_funcs_cursor [function] [call site] 00092
4 teken_state_switch [function] [call site] 00093
4 teken_state_2 [function] [call site] 00094
5 teken_state_numbers [function] [call site] 00095
6 __assert_fail [call site] 00096
6 teken_state_switch [function] [call site] 00097
6 teken_state_init [function] [call site] 00098
5 teken_subr_cursor_forward [function] [call site] 00099
6 teken_funcs_cursor [function] [call site] 00100
5 teken_subr_set_mode [function] [call site] 00101
5 teken_subr_delete_line [function] [call site] 00102
6 teken_funcs_copy [function] [call site] 00103
6 teken_funcs_fill [function] [call site] 00104
5 teken_subr_cursor_forward [function] [call site] 00105
5 teken_subr_cursor_previous_line [function] [call site] 00106
6 teken_subr_cursor_up [function] [call site] 00107
7 teken_funcs_cursor [function] [call site] 00108
5 teken_subr_cons25_switch_virtual_terminal [function] [call site] 00109
6 teken_funcs_param [function] [call site] 00110
5 teken_subr_vertical_position_absolute [function] [call site] 00111
6 teken_funcs_cursor [function] [call site] 00112
5 teken_subr_cursor_forward_tabulation [function] [call site] 00113
6 teken_tab_isset [function] [call site] 00114
6 teken_funcs_cursor [function] [call site] 00115
5 teken_subr_cursor_position_report [function] [call site] 00116
6 teken_subr_do_cpr [function] [call site] 00117
7 strcpy [call site] 00118
7 snprintf [call site] 00119
7 strcpy [call site] 00120
7 strcpy [call site] 00121
7 strcpy [call site] 00122
6 teken_funcs_respond [function] [call site] 00123
7 __assert_fail [call site] 00124
5 teken_subr_save_cursor [function] [call site] 00125
5 teken_subr_erase_character [function] [call site] 00126
6 teken_funcs_fill [function] [call site] 00127
5 teken_subr_cursor_down [function] [call site] 00128
6 teken_funcs_cursor [function] [call site] 00129
5 teken_subr_tab_clear [function] [call site] 00130
6 teken_tab_clear [function] [call site] 00131
5 teken_subr_insert_line [function] [call site] 00132
6 teken_funcs_copy [function] [call site] 00133
6 teken_funcs_fill [function] [call site] 00134
5 teken_subr_horizontal_position_absolute [function] [call site] 00135
6 teken_funcs_cursor [function] [call site] 00136
5 teken_subr_cursor_next_line [function] [call site] 00137
6 teken_subr_cursor_down [function] [call site] 00138
5 teken_subr_pan_up [function] [call site] 00139
6 teken_subr_do_scroll [function] [call site] 00140
5 teken_subr_primary_device_attributes [function] [call site] 00141
6 teken_funcs_respond [function] [call site] 00142
5 teken_subr_cursor_position [function] [call site] 00143
6 teken_funcs_cursor [function] [call site] 00144
5 teken_subr_set_graphic_rendition [function] [call site] 00145
5 teken_subr_set_top_and_bottom_margins [function] [call site] 00146
6 teken_funcs_cursor [function] [call site] 00147
5 teken_subr_cursor_up [function] [call site] 00148
5 teken_subr_cursor_position [function] [call site] 00149
5 teken_subr_erase_line [function] [call site] 00150
5 teken_subr_delete_character [function] [call site] 00151
6 teken_funcs_copy [function] [call site] 00152
6 teken_funcs_fill [function] [call site] 00153
5 teken_subr_restore_cursor [function] [call site] 00154
5 teken_subr_cursor_backward_tabulation [function] [call site] 00155
6 teken_tab_isset [function] [call site] 00156
6 teken_funcs_cursor [function] [call site] 00157
5 teken_subr_cursor_backward [function] [call site] 00158
6 teken_funcs_cursor [function] [call site] 00159
5 teken_subr_pan_down [function] [call site] 00160
6 teken_subr_do_scroll [function] [call site] 00161
5 teken_subr_cons25_set_graphic_rendition [function] [call site] 00162
5 teken_subr_repeat_last_graphic_char [function] [call site] 00163
6 teken_subr_regular_character [function] [call site] 00164
5 teken_subr_horizontal_position_absolute [function] [call site] 00165
5 teken_subr_reset_mode [function] [call site] 00166
5 teken_subr_insert_character [function] [call site] 00167
6 teken_funcs_copy [function] [call site] 00168
6 teken_funcs_fill [function] [call site] 00169
5 teken_subr_cursor_down [function] [call site] 00170
5 teken_subr_erase_display [function] [call site] 00171
5 teken_state_switch [function] [call site] 00172
5 teken_state_3 [function] [call site] 00173
6 teken_state_numbers [function] [call site] 00174
6 teken_subr_secondary_device_attributes [function] [call site] 00175
7 teken_funcs_respond [function] [call site] 00176
6 teken_state_switch [function] [call site] 00177
6 teken_state_init [function] [call site] 00178
5 teken_state_switch [function] [call site] 00179
5 teken_state_9 [function] [call site] 00180
6 teken_state_numbers [function] [call site] 00181
6 teken_subr_cons25_set_default_background [function] [call site] 00182
6 teken_subr_cons25_set_global_cursor_shape [function] [call site] 00183
7 teken_funcs_param [function] [call site] 00184
6 teken_subr_cons25_set_local_cursor_type [function] [call site] 00185
7 teken_funcs_param [function] [call site] 00186
6 teken_subr_cons25_set_terminal_mode [function] [call site] 00187
6 teken_subr_cons25_set_default_foreground [function] [call site] 00188
6 teken_subr_cons25_set_border [function] [call site] 00189
7 teken_funcs_param [function] [call site] 00190
6 teken_subr_cons25_set_bell_pitch_duration [function] [call site] 00191
7 teken_funcs_param [function] [call site] 00192
6 teken_state_switch [function] [call site] 00193
6 teken_state_init [function] [call site] 00194
5 teken_state_switch [function] [call site] 00195
5 teken_state_6 [function] [call site] 00196
6 teken_subr_set_cursor_style [function] [call site] 00197
6 teken_state_init [function] [call site] 00198
5 teken_state_switch [function] [call site] 00199
5 teken_state_5 [function] [call site] 00200
6 teken_state_numbers [function] [call site] 00201
6 teken_subr_set_dec_mode [function] [call site] 00202
7 teken_funcs_param [function] [call site] 00203
7 teken_subr_reset_to_initial_state [function] [call site] 00204
7 teken_funcs_cursor [function] [call site] 00205
7 teken_funcs_param [function] [call site] 00206
7 teken_funcs_param [function] [call site] 00207
7 teken_funcs_param [function] [call site] 00208
6 teken_subr_reset_dec_mode [function] [call site] 00209
7 teken_funcs_param [function] [call site] 00210
7 teken_subr_reset_to_initial_state [function] [call site] 00211
7 teken_funcs_cursor [function] [call site] 00212
7 teken_funcs_param [function] [call site] 00213
7 teken_funcs_param [function] [call site] 00214
7 teken_funcs_param [function] [call site] 00215
6 teken_subr_device_status_report [function] [call site] 00216
7 teken_subr_do_cpr [function] [call site] 00217
7 teken_funcs_respond [function] [call site] 00218
6 teken_state_switch [function] [call site] 00219
6 teken_state_init [function] [call site] 00220
5 teken_state_switch [function] [call site] 00221
5 teken_state_init [function] [call site] 00222
4 teken_state_switch [function] [call site] 00223
4 teken_state_switch [function] [call site] 00224
4 teken_state_4 [function] [call site] 00225
5 teken_subr_double_height_double_width_line_top [function] [call site] 00226
5 teken_subr_single_height_double_width_line [function] [call site] 00227
5 teken_subr_alignment_test [function] [call site] 00228
6 teken_funcs_cursor [function] [call site] 00229
6 teken_funcs_fill [function] [call site] 00230
5 teken_subr_single_height_single_width_line [function] [call site] 00231
5 teken_subr_double_height_double_width_line_bottom [function] [call site] 00232
5 teken_state_switch [function] [call site] 00233
5 teken_state_init [function] [call site] 00234
4 teken_state_switch [function] [call site] 00235
4 teken_state_init [function] [call site] 00236
2 teken_subr_do_reset [function] [call site] 00237
2 teken_set_winsize [function] [call site] 00238
3 teken_trim_cursor_pos [function] [call site] 00239
3 teken_subr_do_reset [function] [call site] 00240
1 teken_input [function] [call site] 00241
2 teken_funcs_pre_input [function] [call site] 00242
2 teken_input_byte [function] [call site] 00243
3 teken_input_char [function] [call site] 00244
4 teken_subr_bell [function] [call site] 00245
5 teken_funcs_bell [function] [call site] 00246
6 __assert_fail [call site] 00247
4 teken_subr_backspace [function] [call site] 00248
5 teken_funcs_cursor [function] [call site] 00249
4 __assert_fail [call site] 00250
4 __assert_fail [call site] 00251
4 __assert_fail [call site] 00252
4 __assert_fail [call site] 00253
4 __assert_fail [call site] 00254
4 __assert_fail [call site] 00255
4 __assert_fail [call site] 00256
4 __assert_fail [call site] 00257
4 __assert_fail [call site] 00258
3 teken_input_char [function] [call site] 00259