Fuzz introspector: libtsm_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
4 4 2 :

['shl_array_get_array', 'shl_array_get_length']

4 4 tsm_symbol_get call site: 00092 /src/libtsm/src/tsm/tsm-unicode.c:218
2 4 2 :

['realloc', 'screen_cell_init']

2 4 line_resize call site: 00017 /src/libtsm/src/tsm/tsm-screen.c:165
2 2 1 :

['realloc']

2 2 shl_array_push call site: 00007 /src/libtsm/./src/shared/shl-array.h:135
2 2 1 :

['abort']

2 2 term_draw_cell call site: 00410 /src/libtsm_fuzzer.c:28
0 1969 1 :

['send_primary_da']

0 1969 csi_dev_attr call site: 00259 /src/libtsm/src/tsm/tsm-vte.c:1493
0 136 1 :

['screen_scroll_up']

0 136 screen_scroll_up call site: 00027 /src/libtsm/src/tsm/tsm-screen.c:278
0 68 1 :

['screen_scroll_up']

0 92 tsm_screen_resize call site: 00024 /src/libtsm/src/tsm/tsm-screen.c:715
0 56 1 :

['screen_scroll_down']

0 56 screen_scroll_down call site: 00146 /src/libtsm/src/tsm/tsm-screen.c:346
0 28 3 :

['free', 'line_free', 'tsm_symbol_table_unref']

0 28 tsm_screen_new call site: 00009 /src/libtsm/src/tsm/tsm-screen.c:491
0 8 1 :

['move_cursor']

0 8 tsm_screen_resize call site: 00036 /src/libtsm/src/tsm/tsm-screen.c:726
0 0 None 6 152 tsm_screen_resize call site: 00009 /src/libtsm/src/tsm/tsm-screen.c:593
0 0 None 6 6 get_palette call site: 00055 /src/libtsm/src/tsm/tsm-vte.c:298

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 tsm_screen_new [function] [call site] 00001
2 tsm_symbol_table_new [function] [call site] 00002
3 shl_htable_init [function] [call site] 00003
4 htable_init [function] [call site] 00004
3 shl_array_new [function] [call site] 00006
3 shl_array_push [function] [call site] 00007
4 realloc [call site] 00008
2 tsm_screen_resize [function] [call site] 00009
3 realloc [call site] 00010
3 realloc [call site] 00011
3 line_new [function] [call site] 00012
4 screen_cell_init [function] [call site] 00013
3 line_free [function] [call site] 00015
3 realloc [call site] 00016
3 line_resize [function] [call site] 00017
4 realloc [call site] 00018
4 screen_cell_init [function] [call site] 00019
3 line_resize [function] [call site] 00020
3 screen_inc_age [function] [call site] 00021
3 screen_cell_init [function] [call site] 00022
3 screen_cell_init [function] [call site] 00023
3 move_cursor [function] [call site] 00024
4 get_cursor_cell [function] [call site] 00025
4 get_cursor_cell [function] [call site] 00026
3 screen_scroll_up [function] [call site] 00027
4 screen_scroll_up [function] [call site] 00028
5 screen_scroll_up [function] [call site] 00029
6 link_to_scrollback [function] [call site] 00031
6 screen_cell_init [function] [call site] 00034
3 move_cursor [function] [call site] 00035
3 move_cursor [function] [call site] 00036
3 move_cursor [function] [call site] 00037
2 llog_format [function] [call site] 00038
3 __errno_location [call site] 00039
3 __errno_location [call site] 00040
2 line_free [function] [call site] 00041
2 line_free [function] [call site] 00042
2 tsm_symbol_table_unref [function] [call site] 00043
3 shl_htable_clear [function] [call site] 00044
4 htable_clear [function] [call site] 00045
5 entry_is_valid [function] [call site] 00046
5 get_raw_ptr [function] [call site] 00047
5 htable_init [function] [call site] 00048
3 free_ucs4 [function] [call site] 00049
3 shl_array_free [function] [call site] 00050
1 tsm_screen_set_max_sb [function] [call site] 00051
2 screen_inc_age [function] [call site] 00052
2 line_free [function] [call site] 00053
1 tsm_vte_new [function] [call site] 00054
2 get_palette [function] [call site] 00055
3 strcmp [call site] 00056
3 strcmp [call site] 00057
3 strcmp [call site] 00058
2 tsm_utf8_mach_new [function] [call site] 00060
2 tsm_vte_reset [function] [call site] 00061
3 tsm_screen_reset [function] [call site] 00062
4 screen_inc_age [function] [call site] 00063
3 tsm_screen_set_flags [function] [call site] 00064
4 screen_inc_age [function] [call site] 00065
4 get_cursor_cell [function] [call site] 00066
3 tsm_utf8_mach_reset [function] [call site] 00067
3 tsm_screen_set_def_attr [function] [call site] 00069
3 reset_state [function] [call site] 00070
4 copy_fcolor [function] [call site] 00071
4 copy_bcolor [function] [call site] 00072
2 tsm_screen_erase_screen [function] [call site] 00073
3 screen_inc_age [function] [call site] 00074
3 screen_erase_region [function] [call site] 00075
4 screen_cell_init [function] [call site] 00076
2 llog_format [function] [call site] 00077
2 tsm_screen_ref [function] [call site] 00078
1 terminal_write_fn [function] [call site] 00079
1 tsm_screen_resize [function] [call site] 00080
1 tsm_vte_input [function] [call site] 00081
2 llog_format [function] [call site] 00082
2 parse_data [function] [call site] 00083
3 do_trans [function] [call site] 00084
4 do_action [function] [call site] 00085
5 tsm_symbol_make [function] [call site] 00087
5 write_console [function] [call site] 00088
6 tsm_screen_write [function] [call site] 00090
7 tsm_symbol_get_width [function] [call site] 00091
8 tsm_symbol_get [function] [call site] 00092
9 shl_array_get_length [function] [call site] 00093
9 shl_array_get_array [function] [call site] 00094
8 tsm_ucs4_get_width [function] [call site] 00095
9 mk_wcwidth [function] [call site] 00096
10 bisearch [function] [call site] 00097
7 screen_inc_age [function] [call site] 00098
7 move_cursor [function] [call site] 00099
7 move_cursor [function] [call site] 00100
7 move_cursor [function] [call site] 00101
7 screen_scroll_up [function] [call site] 00102
7 screen_write [function] [call site] 00103
8 llog_format [function] [call site] 00104
7 move_cursor [function] [call site] 00105
5 do_execute [function] [call site] 00106
6 vte_write_debug [function] [call site] 00107
7 llog_format [function] [call site] 00108
7 tsm_vte_input [function] [call site] 00109
8 parse_data [function] [call site] 00110
9 do_trans [function] [call site] 00111
10 do_action [function] [call site] 00112
11 do_clear [function] [call site] 00113
11 do_collect [function] [call site] 00114
11 do_param [function] [call site] 00115
11 do_esc [function] [call site] 00116
12 set_charset [function] [call site] 00117
12 set_charset [function] [call site] 00118
12 set_charset [function] [call site] 00119
12 set_charset [function] [call site] 00120
12 set_charset [function] [call site] 00121
12 set_charset [function] [call site] 00122
12 set_charset [function] [call site] 00123
12 set_charset [function] [call site] 00124
12 set_charset [function] [call site] 00125
12 set_charset [function] [call site] 00126
12 set_charset [function] [call site] 00127
12 set_charset [function] [call site] 00128
12 set_charset [function] [call site] 00129
12 set_charset [function] [call site] 00130
12 llog_format [function] [call site] 00131
12 tsm_screen_move_down [function] [call site] 00132
13 screen_inc_age [function] [call site] 00133
13 screen_scroll_up [function] [call site] 00134
13 move_cursor [function] [call site] 00135
13 move_cursor [function] [call site] 00136
12 tsm_screen_newline [function] [call site] 00137
13 screen_inc_age [function] [call site] 00138
13 tsm_screen_move_down [function] [call site] 00139
13 tsm_screen_move_line_home [function] [call site] 00140
14 screen_inc_age [function] [call site] 00141
14 move_cursor [function] [call site] 00142
12 tsm_screen_set_tabstop [function] [call site] 00143
12 tsm_screen_move_up [function] [call site] 00144
13 screen_inc_age [function] [call site] 00145
13 screen_scroll_down [function] [call site] 00146
14 screen_scroll_down [function] [call site] 00147
15 screen_scroll_down [function] [call site] 00148
16 screen_cell_init [function] [call site] 00149
13 move_cursor [function] [call site] 00150
13 move_cursor [function] [call site] 00151
12 send_primary_da [function] [call site] 00152
13 vte_write_debug [function] [call site] 00153
14 tsm_vte_input [function] [call site] 00154
15 tsm_utf8_mach_feed [function] [call site] 00155
15 tsm_utf8_mach_get [function] [call site] 00156
15 parse_data [function] [call site] 00157
16 do_trans [function] [call site] 00158
17 do_action [function] [call site] 00159
18 do_csi [function] [call site] 00160
19 tsm_screen_move_up [function] [call site] 00161
19 tsm_screen_move_down [function] [call site] 00162
19 tsm_screen_move_right [function] [call site] 00163
20 screen_inc_age [function] [call site] 00164
20 move_cursor [function] [call site] 00165
20 move_cursor [function] [call site] 00166
19 tsm_screen_move_left [function] [call site] 00167
20 screen_inc_age [function] [call site] 00168
20 move_cursor [function] [call site] 00169
20 move_cursor [function] [call site] 00170
19 tsm_screen_get_cursor_x [function] [call site] 00171
19 tsm_screen_move_to [function] [call site] 00172
20 screen_inc_age [function] [call site] 00173
20 to_abs_x [function] [call site] 00174
20 to_abs_y [function] [call site] 00175
20 move_cursor [function] [call site] 00176
19 tsm_screen_get_cursor_x [function] [call site] 00177
19 tsm_screen_get_cursor_y [function] [call site] 00178
19 tsm_screen_move_to [function] [call site] 00179
19 tsm_screen_move_to [function] [call site] 00180
19 tsm_screen_get_cursor_y [function] [call site] 00181
19 tsm_screen_move_to [function] [call site] 00182
19 tsm_screen_erase_screen_to_cursor [function] [call site] 00183
20 screen_inc_age [function] [call site] 00184
20 screen_erase_region [function] [call site] 00185
19 tsm_screen_erase_screen [function] [call site] 00186
19 llog_format [function] [call site] 00187
19 tsm_screen_erase_cursor_to_end [function] [call site] 00188
20 screen_inc_age [function] [call site] 00189
20 screen_erase_region [function] [call site] 00190
19 tsm_screen_erase_home_to_cursor [function] [call site] 00191
20 screen_inc_age [function] [call site] 00192
20 screen_erase_region [function] [call site] 00193
19 tsm_screen_erase_current_line [function] [call site] 00194
20 screen_inc_age [function] [call site] 00195
20 screen_erase_region [function] [call site] 00196
19 llog_format [function] [call site] 00197
19 tsm_screen_erase_chars [function] [call site] 00198
20 screen_inc_age [function] [call site] 00199
20 screen_erase_region [function] [call site] 00200
19 csi_attribute [function] [call site] 00201
20 copy_fcolor [function] [call site] 00202
20 copy_bcolor [function] [call site] 00203
20 copy_fcolor [function] [call site] 00204
20 copy_bcolor [function] [call site] 00205
20 llog_format [function] [call site] 00206
20 llog_format [function] [call site] 00207
20 tsm_screen_set_def_attr [function] [call site] 00209
19 csi_soft_reset [function] [call site] 00210
20 tsm_vte_reset [function] [call site] 00211
19 csi_soft_reset [function] [call site] 00212
19 csi_soft_reset [function] [call site] 00213
19 csi_compat_mode [function] [call site] 00214
20 csi_soft_reset [function] [call site] 00215
20 llog_format [function] [call site] 00216
19 csi_mode [function] [call site] 00217
20 set_reset_flag [function] [call site] 00218
20 set_reset_flag [function] [call site] 00219
20 tsm_screen_set_flags [function] [call site] 00220
20 tsm_screen_reset_flags [function] [call site] 00221
21 screen_inc_age [function] [call site] 00222
21 get_cursor_cell [function] [call site] 00223
20 set_reset_flag [function] [call site] 00224
20 set_reset_flag [function] [call site] 00225
20 llog_format [function] [call site] 00226
20 set_reset_flag [function] [call site] 00227
20 set_reset_flag [function] [call site] 00228
20 tsm_screen_set_flags [function] [call site] 00229
20 tsm_screen_reset_flags [function] [call site] 00230
20 set_reset_flag [function] [call site] 00231
20 tsm_screen_set_flags [function] [call site] 00232
20 tsm_screen_reset_flags [function] [call site] 00233
20 set_reset_flag [function] [call site] 00234
20 tsm_screen_set_flags [function] [call site] 00235
20 tsm_screen_reset_flags [function] [call site] 00236
20 set_reset_flag [function] [call site] 00237
20 set_reset_flag [function] [call site] 00238
20 tsm_screen_reset_flags [function] [call site] 00239
20 tsm_screen_set_flags [function] [call site] 00240
20 set_reset_flag [function] [call site] 00241
20 tsm_screen_set_flags [function] [call site] 00242
20 tsm_screen_reset_flags [function] [call site] 00243
20 tsm_screen_set_flags [function] [call site] 00244
20 tsm_screen_erase_screen [function] [call site] 00245
20 tsm_screen_reset_flags [function] [call site] 00246
20 tsm_screen_get_cursor_x [function] [call site] 00247
20 tsm_screen_get_cursor_y [function] [call site] 00248
20 tsm_screen_move_to [function] [call site] 00249
20 tsm_screen_get_cursor_x [function] [call site] 00250
20 tsm_screen_get_cursor_y [function] [call site] 00251
20 tsm_screen_set_flags [function] [call site] 00252
20 tsm_screen_erase_screen [function] [call site] 00253
20 tsm_screen_reset_flags [function] [call site] 00254
20 tsm_screen_move_to [function] [call site] 00255
20 llog_format [function] [call site] 00256
19 csi_mode [function] [call site] 00257
19 tsm_screen_set_margins [function] [call site] 00258
19 csi_dev_attr [function] [call site] 00259
20 send_primary_da [function] [call site] 00260
20 vte_write_debug [function] [call site] 00261
20 llog_format [function] [call site] 00262
19 tsm_screen_insert_lines [function] [call site] 00263
20 screen_inc_age [function] [call site] 00264
20 screen_cell_init [function] [call site] 00265
19 tsm_screen_delete_lines [function] [call site] 00266
20 screen_inc_age [function] [call site] 00267
20 screen_cell_init [function] [call site] 00268
19 tsm_screen_reset_tabstop [function] [call site] 00269
19 tsm_screen_reset_all_tabstops [function] [call site] 00270
19 llog_format [function] [call site] 00271
19 tsm_screen_insert_chars [function] [call site] 00272
20 screen_inc_age [function] [call site] 00273
19 tsm_screen_delete_chars [function] [call site] 00274
20 screen_inc_age [function] [call site] 00275
19 tsm_screen_tab_left [function] [call site] 00276
20 screen_inc_age [function] [call site] 00277
20 move_cursor [function] [call site] 00278
19 tsm_screen_tab_right [function] [call site] 00279
20 screen_inc_age [function] [call site] 00280
20 move_cursor [function] [call site] 00281
19 csi_dsr [function] [call site] 00282
20 vte_write_debug [function] [call site] 00283
20 tsm_screen_get_cursor_y [function] [call site] 00284
20 snprintf [call site] 00285
20 vte_write_debug [function] [call site] 00286
20 vte_write_debug [function] [call site] 00287
19 tsm_screen_scroll_up [function] [call site] 00288
20 screen_inc_age [function] [call site] 00289
20 screen_scroll_up [function] [call site] 00290
19 tsm_screen_scroll_down [function] [call site] 00291
20 screen_inc_age [function] [call site] 00292
20 screen_scroll_down [function] [call site] 00293
19 llog_format [function] [call site] 00294
18 llog_format [function] [call site] 00295
17 do_action [function] [call site] 00296
16 do_trans [function] [call site] 00297
16 do_trans [function] [call site] 00298
16 do_trans [function] [call site] 00299
16 do_trans [function] [call site] 00300
16 do_trans [function] [call site] 00301
16 do_trans [function] [call site] 00302
16 do_trans [function] [call site] 00303
16 do_trans [function] [call site] 00304
16 do_trans [function] [call site] 00305
16 do_trans [function] [call site] 00306
16 do_trans [function] [call site] 00307
16 do_trans [function] [call site] 00308
16 do_trans [function] [call site] 00309
16 do_trans [function] [call site] 00310
16 do_trans [function] [call site] 00311
16 do_trans [function] [call site] 00312
16 do_trans [function] [call site] 00313
16 do_trans [function] [call site] 00314
16 do_trans [function] [call site] 00315
16 do_trans [function] [call site] 00316
16 do_trans [function] [call site] 00317
16 do_trans [function] [call site] 00318
16 do_trans [function] [call site] 00319
16 do_trans [function] [call site] 00320
16 do_trans [function] [call site] 00321
16 do_trans [function] [call site] 00322
16 do_trans [function] [call site] 00323
16 do_trans [function] [call site] 00324
16 do_trans [function] [call site] 00325
16 do_trans [function] [call site] 00326
16 do_trans [function] [call site] 00327
16 do_trans [function] [call site] 00328
16 do_trans [function] [call site] 00329
16 do_trans [function] [call site] 00330
16 do_trans [function] [call site] 00331
16 do_trans [function] [call site] 00332
16 do_trans [function] [call site] 00333
16 do_trans [function] [call site] 00334
16 do_trans [function] [call site] 00335
16 do_trans [function] [call site] 00336
16 do_trans [function] [call site] 00337
16 do_trans [function] [call site] 00338
16 do_trans [function] [call site] 00339
16 do_trans [function] [call site] 00340
16 do_trans [function] [call site] 00341
16 do_trans [function] [call site] 00342
16 do_trans [function] [call site] 00343
16 do_trans [function] [call site] 00344
16 do_trans [function] [call site] 00345
16 do_trans [function] [call site] 00346
16 do_trans [function] [call site] 00347
16 do_trans [function] [call site] 00348
16 do_trans [function] [call site] 00349
16 do_trans [function] [call site] 00350
16 do_trans [function] [call site] 00351
16 do_trans [function] [call site] 00352
16 do_trans [function] [call site] 00353
16 do_trans [function] [call site] 00354
16 do_trans [function] [call site] 00355
16 do_trans [function] [call site] 00356
16 do_trans [function] [call site] 00357
16 do_trans [function] [call site] 00358
16 do_trans [function] [call site] 00359
16 do_trans [function] [call site] 00360
16 do_trans [function] [call site] 00361
16 do_trans [function] [call site] 00362
16 do_trans [function] [call site] 00363
16 do_trans [function] [call site] 00364
16 do_trans [function] [call site] 00365
16 do_trans [function] [call site] 00366
16 do_trans [function] [call site] 00367
16 do_trans [function] [call site] 00368
16 do_trans [function] [call site] 00369
16 do_trans [function] [call site] 00370
16 do_trans [function] [call site] 00371
16 do_trans [function] [call site] 00372
16 do_trans [function] [call site] 00373
16 llog_format [function] [call site] 00374
12 tsm_vte_hard_reset [function] [call site] 00375
13 tsm_vte_reset [function] [call site] 00376
13 tsm_screen_erase_screen [function] [call site] 00377
13 tsm_screen_clear_sb [function] [call site] 00378
14 screen_inc_age [function] [call site] 00379
14 line_free [function] [call site] 00380
13 tsm_screen_move_to [function] [call site] 00381
12 save_state [function] [call site] 00382
13 tsm_screen_get_cursor_x [function] [call site] 00383
13 tsm_screen_get_cursor_y [function] [call site] 00384
12 restore_state [function] [call site] 00385
13 tsm_screen_move_to [function] [call site] 00386
13 tsm_screen_set_def_attr [function] [call site] 00388
13 tsm_screen_set_flags [function] [call site] 00389
13 tsm_screen_reset_flags [function] [call site] 00390
13 tsm_screen_set_flags [function] [call site] 00391
13 tsm_screen_reset_flags [function] [call site] 00392
12 llog_format [function] [call site] 00393
6 tsm_screen_move_left [function] [call site] 00394
6 tsm_screen_tab_right [function] [call site] 00395
6 tsm_screen_move_down [function] [call site] 00396
6 tsm_screen_move_line_home [function] [call site] 00397
6 write_console [function] [call site] 00398
6 tsm_screen_move_down [function] [call site] 00399
6 tsm_screen_newline [function] [call site] 00400
6 tsm_screen_set_tabstop [function] [call site] 00401
6 tsm_screen_move_up [function] [call site] 00402
6 send_primary_da [function] [call site] 00403
6 llog_format [function] [call site] 00404
1 tsm_screen_draw [function] [call site] 00405
2 screen_cell_init [function] [call site] 00406
2 tsm_symbol_get [function] [call site] 00407
2 llog_format [function] [call site] 00408
2 llog_format [function] [call site] 00409
1 term_draw_cell [function] [call site] 00410
2 abort [call site] 00411
1 tsm_vte_unref [function] [call site] 00412
2 llog_format [function] [call site] 00413
2 tsm_screen_unref [function] [call site] 00414
3 llog_format [function] [call site] 00415
3 line_free [function] [call site] 00416
3 line_free [function] [call site] 00417
3 tsm_symbol_table_unref [function] [call site] 00418
2 tsm_utf8_mach_free [function] [call site] 00419
1 tsm_screen_unref [function] [call site] 00420