vim-9.1.1291-1.fc43

List of Findings

Error: SHELLCHECK_WARNING (CWE-758): [#def1]
/etc/profile.d/vim-default-editor.sh:1:1: error[SC2148]: Tips depend on target shell and yours is unknown. Add a shebang or a 'shell' directive.
#    1|-> # Ensure vim is set as EDITOR if it isn't already set
#    2|   
#    3|   if [ -z "$EDITOR" ]; then

Error: SHELLCHECK_WARNING (CWE-156): [#def2]
/usr/bin/gvimtutor:8:6: warning[SC2046]: Quote this to prevent word splitting.
#    6|   # See vimtutor for usage.
#    7|   
#    8|-> exec $(dirname $0)/vimtutor -g "$@"

Error: COMPILER_WARNING: [#def3]
vim91/src/alloc.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: COMPILER_WARNING: [#def4]
vim91/src/arabic.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: COMPILER_WARNING: [#def5]
vim91/src/arglist.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: COMPILER_WARNING: [#def6]
vim91/src/auto/gui_gtk_gresources.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: COMPILER_WARNING: [#def7]
vim91/src/auto/if_perl.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: COMPILER_WARNING: [#def8]
vim91/src/auto/pathdef.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: COMPILER_WARNING: [#def9]
vim91/src/autocmd.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: GCC_ANALYZER_WARNING (CWE-476): [#def10]
vim91/src/autocmd.c:1174:9: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘pat’
vim91/src/autocmd.c:3314:1: enter_function: entry to ‘f_autocmd_delete’
vim91/src/autocmd.c:3316:5: call_function: calling ‘autocmd_add_or_delete’ from ‘f_autocmd_delete’
# 1172|        * Show or delete all patterns for an event.
# 1173|        */
# 1174|->     if (*pat == NUL)
# 1175|       {
# 1176|   	FOR_ALL_AUTOCMD_PATTERNS(event, ap)

Error: COMPILER_WARNING: [#def11]
vim91/src/beval.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: GCC_ANALYZER_WARNING (CWE-476): [#def12]
vim91/src/beval.c:82:29: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘spos’
vim91/src/beval.c:42:8: branch_false: following ‘false’ branch...
vim91/src/beval.c:47:8: branch_false: following ‘false’ branch...
vim91/src/beval.c:51:12: branch_false: ...to here
vim91/src/beval.c:52:8: branch_false: following ‘false’ branch...
vim91/src/beval.c:56:8: branch_false: ...to here
vim91/src/beval.c:56:8: branch_true: following ‘true’ branch (when ‘getword != 0’)...
vim91/src/beval.c:63:13: branch_true: ...to here
vim91/src/beval.c:63:12: branch_false: following ‘false’ branch...
vim91/src/beval.c:77:15: branch_false: ...to here
vim91/src/beval.c:80:12: branch_true: following ‘true’ branch...
vim91/src/beval.c:81:20: branch_true: ...to here
vim91/src/beval.c:80:13: branch_true: following ‘true’ branch...
vim91/src/beval.c:82:29: branch_true: ...to here
vim91/src/beval.c:82:29: danger: dereference of NULL ‘spos’
#   80|   	if (VIsual_active
#   81|   		&& wp->w_buffer == curwin->w_buffer
#   82|-> 		&& (lnum == spos->lnum
#   83|   		    ? col >= (int)spos->col
#   84|   		    : lnum > spos->lnum)

Error: COMPILER_WARNING: [#def13]
vim91/src/blob.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: COMPILER_WARNING: [#def14]
vim91/src/blowfish.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: COMPILER_WARNING: [#def15]
vim91/src/buffer.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: COMPILER_WARNING: [#def16]
vim91/src/bufwrite.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: COMPILER_WARNING: [#def17]
vim91/src/change.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: GCC_ANALYZER_WARNING (CWE-688): [#def18]
vim91/src/change.c:2132:63: warning[-Wanalyzer-null-argument]: use of NULL ‘leader’ where non-null expected
vim91/src/change.c:1442:8: branch_false: following ‘false’ branch...
vim91/src/change.c:1446:20: branch_false: ...to here
vim91/src/change.c:1449:8: branch_false: following ‘false’ branch...
vim91/src/change.c:1483:9: branch_false: ...to here
vim91/src/change.c:1483:8: branch_true: following ‘true’ branch...
vim91/src/change.c:2093:8: branch_true: following ‘true’ branch (when ‘p_extra’ is non-NULL)...
vim91/src/change.c:2095:9: branch_true: ...to here
vim91/src/change.c:2105:12: branch_false: following ‘false’ branch...
vim91/src/change.c:2126:8: branch_true: following ‘true’ branch (when ‘lead_len != 0’)...
vim91/src/change.c:2128:13: branch_true: ...to here
vim91/src/change.c:2128:12: branch_true: following ‘true’ branch...
vim91/src/change.c:2132:63: danger: argument 1 (‘leader’) NULL where non-null expected
#argument 1 of ‘__builtin_strlen’ must be non-null
# 2130|   	    int i;
# 2131|   	    int padding = second_line_indent
# 2132|-> 					  - (newindent + (int)STRLEN(leader));
# 2133|   
# 2134|   	    // Here whitespace is inserted after the comment char.

Error: COMPILER_WARNING: [#def19]
vim91/src/channel.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: GCC_ANALYZER_WARNING (CWE-688): [#def20]
vim91/src/channel.c:2112:24: warning[-Wanalyzer-null-argument]: use of NULL ‘reader.js_buf’ where non-null expected
vim91/src/channel.c:2168:1: enter_function: entry to ‘channel_parse_json’
vim91/src/channel.c:2181:21: call_function: calling ‘channel_get’ from ‘channel_parse_json’
vim91/src/channel.c:2181:21: return_function: returning to ‘channel_parse_json’ from ‘channel_get’
vim91/src/channel.c:2181:5: release_memory: ‘reader.js_buf’ is NULL
vim91/src/channel.c:2187:8: branch_true: following ‘true’ branch...
vim91/src/channel.c:2188:18: branch_true: ...to here
vim91/src/channel.c:2188:18: call_function: calling ‘channel_process_lsp_http_hdr’ from ‘channel_parse_json’
#argument 1 of ‘__builtin_strlen’ must be non-null
# 2110|   
# 2111|       // We find the end once, to avoid calling strlen() many times.
# 2112|->     jsbuf_len = (int_u)STRLEN(reader->js_buf);
# 2113|       reader->js_end = reader->js_buf + jsbuf_len;
# 2114|   

Error: COMPILER_WARNING: [#def21]
vim91/src/charset.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: CPPCHECK_WARNING (CWE-457): [#def22]
vim91/src/charset.c:449: warning[uninitvar]: Uninitialized variable: ga.ga_data
#  447|       // Make each character lower case.
#  448|       i = 0;
#  449|->     while (STR_CHAR(i) != NUL)
#  450|       {
#  451|   	if (enc_utf8 || (has_mbyte && MB_BYTE2LEN(STR_CHAR(i)) > 1))

Error: COMPILER_WARNING: [#def23]
vim91/src/cindent.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: CPPCHECK_WARNING (CWE-909): [#def24]
vim91/src/cindent.c:2466: error[uninitStructMember]: Uninitialized struct member: our_paren_pos.lnum
# 2464|   	    }
# 2465|   
# 2466|-> 	    amount = skip_label(our_paren_pos.lnum, &look);
# 2467|   	    look = skipwhite(look);
# 2468|   	    if (*look == '(')

Error: CPPCHECK_WARNING (CWE-909): [#def25]
vim91/src/cindent.c:2534: error[uninitStructMember]: Uninitialized struct member: our_paren_pos.col
# 2532|   		    else
# 2533|   		    {
# 2534|-> 			col = our_paren_pos.col + 1;
# 2535|   			while (VIM_ISWHITE(l[col]))
# 2536|   			    col++;

Error: COMPILER_WARNING: [#def26]
vim91/src/clientserver.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: COMPILER_WARNING: [#def27]
vim91/src/clipboard.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: COMPILER_WARNING: [#def28]
vim91/src/cmdexpand.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: GCC_ANALYZER_WARNING (CWE-131): [#def29]
vim91/src/cmdexpand.c:3149:5: warning[-Wanalyzer-allocation-size]: allocated buffer size is not a multiple of the pointee's size
# 3147|   								options);
# 3148|   
# 3149|->     *matches = (char_u **)"";
# 3150|       *numMatches = 0;
# 3151|       if (xp->xp_context == EXPAND_HELP)

Error: COMPILER_WARNING: [#def30]
vim91/src/cmdhist.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: GCC_ANALYZER_WARNING (CWE-476): [#def31]
vim91/src/cmdhist.c:171:17: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘temp’
vim91/src/cmdhist.c:132:8: branch_false: following ‘false’ branch...
 branch_false: ...to here
vim91/src/cmdhist.c:136:20: branch_true: following ‘true’ branch (when ‘type != 5’)...
vim91/src/cmdhist.c:138:12: branch_true: ...to here
vim91/src/cmdhist.c:138:12: branch_false: following ‘false’ branch (when ‘newlen <= 0’)...
vim91/src/cmdhist.c:158:13: branch_false: ...to here
vim91/src/cmdhist.c:158:12: branch_false: following ‘false’ branch...
vim91/src/cmdhist.c:165:18: branch_false: ...to here
vim91/src/cmdhist.c:165:17: branch_true: following ‘true’ branch...
 branch_true: ...to here
vim91/src/cmdhist.c:170:25: branch_true: following ‘true’ branch...
vim91/src/cmdhist.c:171:27: branch_true: ...to here
vim91/src/cmdhist.c:171:21: release_memory: ‘temp’ is NULL
vim91/src/cmdhist.c:171:17: danger: dereference of NULL ‘temp + (long unsigned int)i * 32’
#  169|   
#  170|   	    for (i = 0; i <= hisidx[type]; ++i)
#  171|-> 		temp[i] = history[type][i];
#  172|   	    j = i;
#  173|   	    for ( ; i <= newlen - (hislen - hisidx[type]); ++i)

Error: COMPILER_WARNING: [#def32]
vim91/src/crypt.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: COMPILER_WARNING: [#def33]
vim91/src/crypt_zip.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: COMPILER_WARNING: [#def34]
vim91/src/debugger.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: GCC_ANALYZER_WARNING (CWE-457): [#def35]
vim91/src/debugger.c:981:17: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value ‘f’
vim91/src/debugger.c:942:1: enter_function: entry to ‘has_profiling’
vim91/src/debugger.c:948:8: branch_false: following ‘false’ branch...
vim91/src/debugger.c:971:12: branch_false: following ‘false’ branch...
vim91/src/debugger.c:973:9: branch_false: ...to here
vim91/src/debugger.c:977:20: call_function: inlined call to ‘debuggy_find’ from ‘has_profiling’
 branch_false: ...to here
vim91/src/debugger.c:977:20: call_function: inlined call to ‘debuggy_find’ from ‘has_profiling’
vim91/src/debugger.c:977:20: call_function: inlined call to ‘debuggy_find’ from ‘has_profiling’
vim91/src/debugger.c:978:12: branch_true: following ‘true’ branch (when ‘lnum != 0’)...
vim91/src/debugger.c:980:13: branch_true: ...to here
vim91/src/debugger.c:981:17: danger: use of uninitialized value ‘f’ here
#  979|   	{
#  980|   	    PEN_SET_PROFILING(pe);
#  981|-> 	    if (f)
#  982|   		PEN_SET_FORCEIT(pe);
#  983|   	}

Error: COMPILER_WARNING: [#def36]
vim91/src/dict.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: COMPILER_WARNING: [#def37]
vim91/src/diff.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: CPPCHECK_WARNING (CWE-457): [#def38]
vim91/src/diff.c:2331: warning[uninitvar]: Uninitialized variable: diff_length
# 2329|       const int iwhite = (diff_flags & (DIFF_IWHITEALL | DIFF_IWHITE)) > 0 ? 1 : 0;
# 2330|       size_t decisions_length =
# 2331|-> 	linematch_nbuffers(diffbufs, diff_length, ndiffs, &decisions, iwhite);
# 2332|   
# 2333|       for (size_t i = 0; i < ndiffs; i++)

Error: COMPILER_WARNING: [#def39]
vim91/src/digraph.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: COMPILER_WARNING: [#def40]
vim91/src/drawline.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: GCC_ANALYZER_WARNING (CWE-457): [#def41]
vim91/src/drawline.c:2854:29: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value ‘u8cc[0]’
vim91/src/drawline.c:1128:1: enter_function: entry to ‘win_line’
vim91/src/drawline.c:1289:8: branch_false: following ‘false’ branch (when ‘startrow <= endrow’)...
vim91/src/drawline.c:1292:5: call_function: inlined call to ‘memset’ from ‘win_line’
vim91/src/drawline.c:1304:8: branch_true: following ‘true’ branch (when ‘number_only == 0’)...
vim91/src/drawline.c:1309:9: branch_true: ...to here
vim91/src/drawline.c:1345:12: branch_false: following ‘false’ branch...
vim91/src/drawline.c:1354:13: branch_false: ...to here
vim91/src/drawline.c:1478:8: branch_false: following ‘false’ branch...
vim91/src/drawline.c:1525:8: branch_true: following ‘true’ branch...
vim91/src/drawline.c:1526:9: branch_true: ...to here
vim91/src/drawline.c:1545:8: branch_false: following ‘false’ branch...
vim91/src/drawline.c:1614:12: branch_false: ...to here
vim91/src/drawline.c:1617:8: branch_false: following ‘false’ branch...
vim91/src/drawline.c:1650:20: branch_false: ...to here
vim91/src/drawline.c:1651:8: branch_false: following ‘false’ branch...
vim91/src/drawline.c:1662:9: branch_false: ...to here
vim91/src/drawline.c:1662:8: branch_false: following ‘false’ branch...
vim91/src/drawline.c:1666:23: branch_false: ...to here
vim91/src/drawline.c:1716:8: branch_false: following ‘false’ branch (when ‘number_only <= 0’)...
vim91/src/drawline.c:1732:9: branch_false: ...to here
vim91/src/drawline.c:1748:8: branch_false: following ‘false’ branch...
vim91/src/drawline.c:1873:9: branch_false: ...to here
vim91/src/drawline.c:1893:8: branch_true: following ‘true’ branch (when ‘number_only == 0’)...
vim91/src/drawline.c:1895:13: branch_true: ...to here
vim91/src/drawline.c:1933:5: call_function: calling ‘win_line_start’ from ‘win_line’
vim91/src/drawline.c:1933:5: return_function: returning to ‘win_line’ from ‘win_line_start’
vim91/src/drawline.c:2630:12: branch_false: following ‘false’ branch...
vim91/src/drawline.c:2647:13: branch_false: ...to here
vim91/src/drawline.c:2647:12: branch_false: following ‘false’ branch...
vim91/src/drawline.c:2762:17: branch_false: ...to here
vim91/src/drawline.c:2766:16: branch_false: following ‘false’ branch...
vim91/src/drawline.c:2776:17: branch_false: ...to here
vim91/src/drawline.c:2776:16: branch_true: following ‘true’ branch...
vim91/src/drawline.c:2779:21: branch_true: ...to here
vim91/src/drawline.c:2779:20: branch_true: following ‘true’ branch...
vim91/src/drawline.c:2783:28: branch_true: ...to here
vim91/src/drawline.c:2785:24: branch_false: following ‘false’ branch...
vim91/src/drawline.c:2812:26: branch_false: ...to here
vim91/src/drawline.c:2812:24: branch_false: following ‘false’ branch...
vim91/src/drawline.c:2813:33: branch_false: ...to here
vim91/src/drawline.c:2812:25: branch_false: following ‘false’ branch...
vim91/src/drawline.c:2812:25: branch_false: ...to here
vim91/src/drawline.c:2812:25: branch_false: following ‘false’ branch...
vim91/src/drawline.c:2838:29: branch_false: ...to here
vim91/src/drawline.c:2838:29: branch_false: following ‘false’ branch...
vim91/src/drawline.c:2841:30: branch_false: ...to here
vim91/src/drawline.c:2841:29: branch_true: following ‘true’ branch...
vim91/src/drawline.c:2849:28: branch_true: following ‘true’ branch...
vim91/src/drawline.c:2853:34: branch_true: ...to here
vim91/src/drawline.c:2854:29: danger: use of uninitialized value ‘u8cc[0]’ here
# 2852|   			    pc1 = prev_c1;
# 2853|   			    nc = utf_ptr2char(ptr + mb_l);
# 2854|-> 			    prev_c1 = u8cc[0];
# 2855|   			}
# 2856|   			else

Error: COMPILER_WARNING: [#def42]
vim91/src/drawscreen.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: COMPILER_WARNING: [#def43]
vim91/src/edit.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: COMPILER_WARNING: [#def44]
vim91/src/eval.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: COMPILER_WARNING: [#def45]
vim91/src/evalbuffer.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: COMPILER_WARNING: [#def46]
vim91/src/evalfunc.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: GCC_ANALYZER_WARNING (CWE-457): [#def47]
vim91/src/evalfunc.c:4759:9: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value ‘save_ga.ga_len’
vim91/src/evalfunc.c:4682:13: branch_false: following ‘false’ branch...
vim91/src/evalfunc.c:4691:15: branch_false: ...to here
vim91/src/evalfunc.c:4692:12: branch_false: following ‘false’ branch...
vim91/src/evalfunc.c:4696:16: branch_false: ...to here
vim91/src/evalfunc.c:4717:8: branch_false: following ‘false’ branch...
vim91/src/evalfunc.c:4719:5: branch_false: ...to here
vim91/src/evalfunc.c:4728:8: branch_true: following ‘true’ branch (when ‘cmd’ is non-NULL)...
vim91/src/evalfunc.c:4729:9: branch_true: ...to here
vim91/src/evalfunc.c:4758:8: branch_true: following ‘true’ branch (when ‘save_redir_execute != 0’)...
vim91/src/evalfunc.c:4759:9: branch_true: ...to here
vim91/src/evalfunc.c:4759:9: danger: use of uninitialized value ‘save_ga.ga_len’ here
# 4757|       redir_execute = save_redir_execute;
# 4758|       if (redir_execute)
# 4759|-> 	redir_execute_ga = save_ga;
# 4760|       redir_off = save_redir_off;
# 4761|   

Error: COMPILER_WARNING: [#def48]
vim91/src/evalvars.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: COMPILER_WARNING: [#def49]
vim91/src/evalwindow.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: COMPILER_WARNING: [#def50]
vim91/src/ex_cmds.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: GCC_ANALYZER_WARNING (CWE-476): [#def51]
vim91/src/ex_cmds.c:2895:54: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘oldwin’
vim91/src/ex_cmds.c:2563:8: branch_false: following ‘false’ branch...
vim91/src/ex_cmds.c:2567:8: branch_false: ...to here
vim91/src/ex_cmds.c:2567:8: branch_false: following ‘false’ branch (when ‘eap’ is NULL)...
vim91/src/ex_cmds.c:2569:5: branch_false: ...to here
vim91/src/ex_cmds.c:2571:8: branch_true: following ‘true’ branch (when ‘fnum != 0’)...
vim91/src/ex_cmds.c:2573:27: branch_true: ...to here
vim91/src/ex_cmds.c:2573:12: branch_false: following ‘false’ branch...
vim91/src/ex_cmds.c:2640:23: branch_false: ...to here
vim91/src/ex_cmds.c:2661:8: branch_false: following ‘false’ branch (when ‘oldwin’ is NULL)...
 branch_false: ...to here
vim91/src/ex_cmds.c:2694:8: branch_true: following ‘true’ branch (when ‘other_file != 0’)...
vim91/src/ex_cmds.c:2696:35: branch_true: ...to here
vim91/src/ex_cmds.c:2706:12: branch_true: following ‘true’ branch (when ‘fnum != 0’)...
vim91/src/ex_cmds.c:2707:19: branch_true: ...to here
vim91/src/ex_cmds.c:2744:12: branch_false: following ‘false’ branch (when ‘buf’ is non-NULL)...
vim91/src/ex_cmds.c:2748:13: branch_false: ...to here
vim91/src/ex_cmds.c:2748:12: branch_false: following ‘false’ branch...
vim91/src/ex_cmds.c:2758:19: branch_false: ...to here
vim91/src/ex_cmds.c:2796:12: branch_true: following ‘true’ branch...
vim91/src/ex_cmds.c:2799:25: branch_true: ...to here
vim91/src/ex_cmds.c:2805:13: branch_false: following ‘false’ branch...
vim91/src/ex_cmds.c:2808:13: branch_false: ...to here
vim91/src/ex_cmds.c:2809:13: release_memory: ‘oldwin’ is NULL
vim91/src/ex_cmds.c:2821:16: branch_false: following ‘false’ branch...
vim91/src/ex_cmds.c:2823:13: branch_false: ...to here
vim91/src/ex_cmds.c:2830:16: branch_false: following ‘false’ branch...
vim91/src/ex_cmds.c:2838:17: branch_false: ...to here
vim91/src/ex_cmds.c:2838:16: branch_false: following ‘false’ branch...
vim91/src/ex_cmds.c:2845:17: branch_false: ...to here
vim91/src/ex_cmds.c:2845:16: branch_false: following ‘false’ branch...
vim91/src/ex_cmds.c:2849:30: branch_false: ...to here
vim91/src/ex_cmds.c:2858:20: branch_false: following ‘false’ branch...
vim91/src/ex_cmds.c:2863:17: branch_false: ...to here
vim91/src/ex_cmds.c:2882:20: branch_false: following ‘false’ branch...
vim91/src/ex_cmds.c:2889:21: branch_false: ...to here
vim91/src/ex_cmds.c:2889:20: branch_true: following ‘true’ branch...
vim91/src/ex_cmds.c:2893:24: branch_true: ...to here
vim91/src/ex_cmds.c:2895:24: branch_true: following ‘true’ branch...
vim91/src/ex_cmds.c:2895:54: branch_true: ...to here
vim91/src/ex_cmds.c:2895:54: danger: dereference of NULL ‘oldwin’
# 2893|   		    if (did_decrement && buf_valid(was_curbuf))
# 2894|   			++was_curbuf->b_nwindows;
# 2895|-> 		    if (win_valid_any_tab(oldwin) && oldwin->w_buffer == NULL)
# 2896|   			oldwin->w_buffer = was_curbuf;
# 2897|   		    auto_buf = TRUE;

Error: GCC_ANALYZER_WARNING (CWE-476): [#def52]
vim91/src/ex_cmds.c:4117:9: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘sub’
vim91/src/ex_cmds.c:3902:13: branch_false: following ‘false’ branch...
vim91/src/ex_cmds.c:3968:9: branch_false: ...to here
vim91/src/ex_cmds.c:4080:8: branch_false: following ‘false’ branch...
vim91/src/ex_cmds.c:4086:10: branch_false: ...to here
vim91/src/ex_cmds.c:4094:8: branch_false: following ‘false’ branch...
vim91/src/ex_cmds.c:4103:9: branch_false: ...to here
vim91/src/ex_cmds.c:4117:9: danger: dereference of NULL ‘sub’
# 4115|        * again.
# 4116|        */
# 4117|->     if (sub[0] == '\\' && sub[1] == '=')
# 4118|       {
# 4119|   	p = vim_strsave(sub);

Error: COMPILER_WARNING: [#def53]
vim91/src/ex_cmds2.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: GCC_ANALYZER_WARNING (CWE-476): [#def54]
vim91/src/ex_cmds2.c:642:17: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘tp’
vim91/src/ex_cmds2.c:516:8: branch_false: following ‘false’ branch...
vim91/src/ex_cmds2.c:516:9: branch_false: following ‘false’ branch...
vim91/src/ex_cmds2.c:540:9: branch_false: ...to here
vim91/src/ex_cmds2.c:606:16: branch_true: following ‘true’ branch...
vim91/src/ex_cmds2.c:608:16: branch_false: following ‘false’ branch...
vim91/src/ex_cmds2.c:626:21: branch_false: ...to here
vim91/src/ex_cmds2.c:626:21: branch_false: following ‘false’ branch...
vim91/src/ex_cmds2.c:636:21: branch_false: ...to here
vim91/src/ex_cmds2.c:636:21: branch_true: following ‘true’ branch...
vim91/src/ex_cmds2.c:639:22: branch_true: ...to here
vim91/src/ex_cmds2.c:639:20: branch_false: following ‘false’ branch...
vim91/src/ex_cmds2.c:641:17: branch_false: ...to here
vim91/src/ex_cmds2.c:642:17: danger: dereference of NULL ‘tp’
#  640|   		    break;
#  641|   		goto_tabpage_tp(tp, TRUE, TRUE);
#  642|-> 		tp = tp->tp_next;
#  643|   	    }
#  644|   	    else if (eap->cmdidx == CMD_bufdo)

Error: COMPILER_WARNING: [#def55]
vim91/src/ex_docmd.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: CPPCHECK_WARNING (CWE-786): [#def56]
vim91/src/ex_docmd.c:3954: error[negativeIndex]: Array 'cmdidxs2[26][26]' accessed at index cmdidxs2[*][-97], which is out of bounds.
# 3952|   	    eap->cmdidx = cmdidxs1[CharOrdLow(c1)];
# 3953|   	    if (ASCII_ISLOWER(c2))
# 3954|-> 		eap->cmdidx += cmdidxs2[CharOrdLow(c1)][CharOrdLow(c2)];
# 3955|   	}
# 3956|   	else if (ASCII_ISUPPER(eap->cmd[0]))

Error: COMPILER_WARNING: [#def57]
vim91/src/ex_eval.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: GCC_ANALYZER_WARNING (CWE-476): [#def58]
vim91/src/ex_eval.c:861:17: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘value’
vim91/src/ex_eval.c:2479:1: enter_function: entry to ‘cleanup_conditionals’
vim91/src/ex_eval.c:2487:32: branch_true: following ‘true’ branch (when ‘idx >= 0’)...
vim91/src/ex_eval.c:2489:13: branch_true: ...to here
vim91/src/ex_eval.c:2489:12: branch_true: following ‘true’ branch...
vim91/src/ex_eval.c:2497:17: branch_true: ...to here
vim91/src/ex_eval.c:2507:25: call_function: calling ‘report_discard_pending’ from ‘cleanup_conditionals’
#  859|   		mesg = (char *)vim_strnsave(IObuff, STRLEN(IObuff) + 4);
#  860|   		STRCAT(mesg, ": %s");
#  861|-> 		s = (char *)((except_T *)value)->value;
#  862|   	    }
#  863|   	    else if ((pending & CSTP_ERROR) && (pending & CSTP_INTERRUPT))

Error: COMPILER_WARNING: [#def59]
vim91/src/ex_getln.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: COMPILER_WARNING: [#def60]
vim91/src/fileio.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: COMPILER_WARNING: [#def61]
vim91/src/filepath.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: COMPILER_WARNING: [#def62]
vim91/src/findfile.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: COMPILER_WARNING: [#def63]
vim91/src/float.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: COMPILER_WARNING: [#def64]
vim91/src/fold.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: COMPILER_WARNING: [#def65]
vim91/src/gc.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: COMPILER_WARNING: [#def66]
vim91/src/getchar.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: COMPILER_WARNING: [#def67]
vim91/src/gui.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: GCC_ANALYZER_WARNING (CWE-775): [#def68]
vim91/src/gui.c:246:9: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘pipefd[0]’
vim91/src/gui.c:4925:1: enter_function: entry to ‘ex_gui’
vim91/src/gui.c:4941:8: branch_true: following ‘true’ branch...
vim91/src/gui.c:4952:9: branch_true: ...to here
vim91/src/gui.c:4958:13: call_function: calling ‘gui_start’ from ‘ex_gui’
#  244|       {
#  245|   	emsg(_(e_failed_to_create_new_process_for_GUI));
#  246|-> 	return;
#  247|       }
#  248|       else if (pid > 0)	    // Parent

Error: GCC_ANALYZER_WARNING (CWE-775): [#def69]
vim91/src/gui.c:246:9: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘pipefd[1]’
vim91/src/gui.c:4925:1: enter_function: entry to ‘ex_gui’
vim91/src/gui.c:4941:8: branch_true: following ‘true’ branch...
vim91/src/gui.c:4952:9: branch_true: ...to here
vim91/src/gui.c:4958:13: call_function: calling ‘gui_start’ from ‘ex_gui’
#  244|       {
#  245|   	emsg(_(e_failed_to_create_new_process_for_GUI));
#  246|-> 	return;
#  247|       }
#  248|       else if (pid > 0)	    // Parent

Error: CPPCHECK_WARNING (CWE-457): [#def70]
vim91/src/gui.c:2327: warning[uninitvar]: Uninitialized variable: *s
# 2325|   
# 2326|   #ifdef FEAT_SIGN_ICONS
# 2327|->     if (*s == SIGN_BYTE
# 2328|   # ifdef FEAT_NETBEANS_INTG
# 2329|   	  || *s == MULTISIGN_BYTE

Error: COMPILER_WARNING: [#def71]
vim91/src/gui_beval.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: COMPILER_WARNING: [#def72]
vim91/src/gui_gtk.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: COMPILER_WARNING: [#def73]
vim91/src/gui_gtk_f.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: COMPILER_WARNING: [#def74]
vim91/src/gui_gtk_x11.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: COMPILER_WARNING: [#def75]
vim91/src/gui_xim.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: COMPILER_WARNING: [#def76]
vim91/src/hardcopy.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: COMPILER_WARNING: [#def77]
vim91/src/hashtab.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: COMPILER_WARNING: [#def78]
vim91/src/help.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: GCC_ANALYZER_WARNING (CWE-131): [#def79]
vim91/src/help.c:554:5: warning[-Wanalyzer-allocation-size]: allocated buffer size is not a multiple of the pointee's size
#  552|       }
#  553|   
#  554|->     *matches = (char_u **)"";
#  555|       *num_matches = 0;
#  556|       flags = TAG_HELP | TAG_REGEXP | TAG_NAMES | TAG_VERBOSE | TAG_NO_TAGFUNC;

Error: COMPILER_WARNING: [#def80]
vim91/src/highlight.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: COMPILER_WARNING: [#def81]
vim91/src/if_cscope.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: GCC_ANALYZER_WARNING (CWE-775): [#def82]
vim91/src/if_cscope.c:861:16: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘to_cs[1]’
vim91/src/if_cscope.c:2331:1: enter_function: entry to ‘cs_reset’
vim91/src/if_cscope.c:2337:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:2341:14: branch_false: ...to here
vim91/src/if_cscope.c:2344:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:2362:17: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:2364:19: branch_true: ...to here
vim91/src/if_cscope.c:2364:12: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:2366:55: branch_true: ...to here
vim91/src/if_cscope.c:2366:13: call_function: calling ‘cs_add_common’ from ‘cs_reset’
#  859|   	if (from_cs[1] != -1)
#  860|   	    (void)close(from_cs[1]);
#  861|-> 	return CSCOPE_FAILURE;
#  862|       }
#  863|   

Error: GCC_ANALYZER_WARNING (CWE-775): [#def83]
vim91/src/if_cscope.c:861:16: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘to_cs[i]’
vim91/src/if_cscope.c:2331:1: enter_function: entry to ‘cs_reset’
vim91/src/if_cscope.c:2337:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:2341:14: branch_false: ...to here
vim91/src/if_cscope.c:2344:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:2362:17: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:2364:19: branch_true: ...to here
vim91/src/if_cscope.c:2364:12: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:2366:55: branch_true: ...to here
vim91/src/if_cscope.c:2366:13: call_function: calling ‘cs_add_common’ from ‘cs_reset’
#  859|   	if (from_cs[1] != -1)
#  860|   	    (void)close(from_cs[1]);
#  861|-> 	return CSCOPE_FAILURE;
#  862|       }
#  863|   

Error: GCC_ANALYZER_WARNING (CWE-775): [#def84]
vim91/src/if_cscope.c:874:12: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘dup2(to_cs[0], 0)’
vim91/src/if_cscope.c:2331:1: enter_function: entry to ‘cs_reset’
vim91/src/if_cscope.c:2337:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:2341:14: branch_false: ...to here
vim91/src/if_cscope.c:2344:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:2362:17: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:2364:19: branch_true: ...to here
vim91/src/if_cscope.c:2364:12: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:2366:55: branch_true: ...to here
vim91/src/if_cscope.c:2366:13: call_function: calling ‘cs_add_common’ from ‘cs_reset’
#  872|   	int argc = 0;
#  873|   
#  874|-> 	if (dup2(to_cs[0], STDIN_FILENO) == -1)
#  875|   	    PERROR("cs_create_connection 1");
#  876|   	if (dup2(from_cs[1], STDOUT_FILENO) == -1)

Error: GCC_ANALYZER_WARNING (CWE-775): [#def85]
vim91/src/if_cscope.c:876:12: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘dup2(from_cs[1], 1)’
vim91/src/if_cscope.c:2331:1: enter_function: entry to ‘cs_reset’
vim91/src/if_cscope.c:2337:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:2341:14: branch_false: ...to here
vim91/src/if_cscope.c:2344:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:2362:17: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:2364:19: branch_true: ...to here
vim91/src/if_cscope.c:2364:12: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:2366:55: branch_true: ...to here
vim91/src/if_cscope.c:2366:13: call_function: calling ‘cs_add_common’ from ‘cs_reset’
#  874|   	if (dup2(to_cs[0], STDIN_FILENO) == -1)
#  875|   	    PERROR("cs_create_connection 1");
#  876|-> 	if (dup2(from_cs[1], STDOUT_FILENO) == -1)
#  877|   	    PERROR("cs_create_connection 2");
#  878|   	if (dup2(from_cs[1], STDERR_FILENO) == -1)

Error: GCC_ANALYZER_WARNING (CWE-775): [#def86]
vim91/src/if_cscope.c:878:12: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘dup2(from_cs[1], 2)’
vim91/src/if_cscope.c:2331:1: enter_function: entry to ‘cs_reset’
vim91/src/if_cscope.c:2337:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:2341:14: branch_false: ...to here
vim91/src/if_cscope.c:2344:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:2362:17: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:2364:19: branch_true: ...to here
vim91/src/if_cscope.c:2364:12: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:2366:55: branch_true: ...to here
vim91/src/if_cscope.c:2366:13: call_function: calling ‘cs_add_common’ from ‘cs_reset’
#  876|   	if (dup2(from_cs[1], STDOUT_FILENO) == -1)
#  877|   	    PERROR("cs_create_connection 2");
#  878|-> 	if (dup2(from_cs[1], STDERR_FILENO) == -1)
#  879|   	    PERROR("cs_create_connection 3");
#  880|   

Error: COMPILER_WARNING: [#def87]
vim91/src/if_lua.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: GCC_ANALYZER_WARNING (CWE-476): [#def88]
vim91/src/if_lua.c:1002:28: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘0’
vim91/src/if_lua.c:999:1: enter_function: entry to ‘luaV_list_add’
vim91/src/if_lua.c:1001:22: call_function: calling ‘luaV_checkudata’ from ‘luaV_list_add’
vim91/src/if_lua.c:1001:22: return_function: returning to ‘luaV_list_add’ from ‘luaV_checkudata’
vim91/src/if_lua.c:1002:28: danger: dereference of NULL ‘luaV_checkudata(L, 1, & LUAVIM_LIST)’
# 1000|   {
# 1001|       luaV_List *lis = luaV_checkudata(L, 1, LUAVIM_LIST);
# 1002|->     list_T *l = (list_T *) luaV_checkcache(L, (void *) *lis);
# 1003|       typval_T v;
# 1004|       if (l->lv_lock)

Error: GCC_ANALYZER_WARNING (CWE-476): [#def89]
vim91/src/if_lua.c:1019:28: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘0’
vim91/src/if_lua.c:1016:1: enter_function: entry to ‘luaV_list_insert’
vim91/src/if_lua.c:1018:22: call_function: calling ‘luaV_checkudata’ from ‘luaV_list_insert’
vim91/src/if_lua.c:1018:22: return_function: returning to ‘luaV_list_insert’ from ‘luaV_checkudata’
vim91/src/if_lua.c:1019:28: danger: dereference of NULL ‘luaV_checkudata(L, 1, & LUAVIM_LIST)’
# 1017|   {
# 1018|       luaV_List *lis = luaV_checkudata(L, 1, LUAVIM_LIST);
# 1019|->     list_T *l = (list_T *) luaV_checkcache(L, (void *) *lis);
# 1020|       long pos = (long) luaL_optinteger(L, 3, 0);
# 1021|       listitem_T *li = NULL;

Error: GCC_ANALYZER_WARNING (CWE-476): [#def90]
vim91/src/if_lua.c:1288:28: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘0’
vim91/src/if_lua.c:1285:1: enter_function: entry to ‘luaV_blob_add’
vim91/src/if_lua.c:1287:22: call_function: calling ‘luaV_checkudata’ from ‘luaV_blob_add’
vim91/src/if_lua.c:1287:22: return_function: returning to ‘luaV_blob_add’ from ‘luaV_checkudata’
vim91/src/if_lua.c:1288:28: danger: dereference of NULL ‘luaV_checkudata(L, 1, & LUAVIM_BLOB)’
# 1286|   {
# 1287|       luaV_Blob *blo = luaV_checkudata(L, 1, LUAVIM_BLOB);
# 1288|->     blob_T *b = (blob_T *) luaV_checkcache(L, (void *) *blo);
# 1289|       if (b->bv_lock)
# 1290|   	luaL_error(L, "blob is locked");

Error: GCC_ANALYZER_WARNING (CWE-476): [#def91]
vim91/src/if_lua.c:1541:26: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘0’
vim91/src/if_lua.c:1538:1: enter_function: entry to ‘luaV_buffer_insert’
vim91/src/if_lua.c:1540:23: call_function: calling ‘luaV_checkudata’ from ‘luaV_buffer_insert’
vim91/src/if_lua.c:1540:23: return_function: returning to ‘luaV_buffer_insert’ from ‘luaV_checkudata’
vim91/src/if_lua.c:1541:26: danger: dereference of NULL ‘luaV_checkudata(L, 1, & LUAVIM_BUFFER)’
# 1539|   {
# 1540|       luaV_Buffer *lb = luaV_checkudata(L, 1, LUAVIM_BUFFER);
# 1541|->     buf_T *b = (buf_T *) luaV_checkcache(L, (void *) *lb);
# 1542|       linenr_T last = b->b_ml.ml_line_count;
# 1543|       linenr_T n = (linenr_T) luaL_optinteger(L, 3, last);

Error: GCC_ANALYZER_WARNING (CWE-476): [#def92]
vim91/src/if_lua.c:1576:28: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘0’
vim91/src/if_lua.c:1573:1: enter_function: entry to ‘luaV_buffer_next’
vim91/src/if_lua.c:1575:22: call_function: calling ‘luaV_checkudata’ from ‘luaV_buffer_next’
vim91/src/if_lua.c:1575:22: return_function: returning to ‘luaV_buffer_next’ from ‘luaV_checkudata’
vim91/src/if_lua.c:1576:28: danger: dereference of NULL ‘luaV_checkudata(L, 1, & LUAVIM_BUFFER)’
# 1574|   {
# 1575|       luaV_Buffer *b = luaV_checkudata(L, 1, LUAVIM_BUFFER);
# 1576|->     buf_T *buf = (buf_T *) luaV_checkcache(L, (void *) *b);
# 1577|       luaV_pushbuffer(L, buf->b_next);
# 1578|       return 1;

Error: GCC_ANALYZER_WARNING (CWE-476): [#def93]
vim91/src/if_lua.c:1585:28: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘0’
vim91/src/if_lua.c:1582:1: enter_function: entry to ‘luaV_buffer_previous’
vim91/src/if_lua.c:1584:22: call_function: calling ‘luaV_checkudata’ from ‘luaV_buffer_previous’
vim91/src/if_lua.c:1584:22: return_function: returning to ‘luaV_buffer_previous’ from ‘luaV_checkudata’
vim91/src/if_lua.c:1585:28: danger: dereference of NULL ‘luaV_checkudata(L, 1, & LUAVIM_BUFFER)’
# 1583|   {
# 1584|       luaV_Buffer *b = luaV_checkudata(L, 1, LUAVIM_BUFFER);
# 1585|->     buf_T *buf = (buf_T *) luaV_checkcache(L, (void *) *b);
# 1586|       luaV_pushbuffer(L, buf->b_prev);
# 1587|       return 1;

Error: GCC_ANALYZER_WARNING (CWE-476): [#def94]
vim91/src/if_lua.c:1594:5: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘0’
vim91/src/if_lua.c:1591:1: enter_function: entry to ‘luaV_buffer_isvalid’
vim91/src/if_lua.c:1593:22: call_function: calling ‘luaV_checkudata’ from ‘luaV_buffer_isvalid’
vim91/src/if_lua.c:1593:22: return_function: returning to ‘luaV_buffer_isvalid’ from ‘luaV_checkudata’
vim91/src/if_lua.c:1594:5: danger: dereference of NULL ‘luaV_checkudata(L, 1, & LUAVIM_BUFFER)’
# 1592|   {
# 1593|       luaV_Buffer *b = luaV_checkudata(L, 1, LUAVIM_BUFFER);
# 1594|->     luaV_getudata(L, *b);
# 1595|       lua_pushboolean(L, !lua_isnil(L, -1));
# 1596|       return 1;

Error: GCC_ANALYZER_WARNING (CWE-476): [#def95]
vim91/src/if_lua.c:1710:28: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘0’
vim91/src/if_lua.c:1707:1: enter_function: entry to ‘luaV_window_next’
vim91/src/if_lua.c:1709:22: call_function: calling ‘luaV_checkudata’ from ‘luaV_window_next’
vim91/src/if_lua.c:1709:22: return_function: returning to ‘luaV_window_next’ from ‘luaV_checkudata’
vim91/src/if_lua.c:1710:28: danger: dereference of NULL ‘luaV_checkudata(L, 1, & LUAVIM_WINDOW)’
# 1708|   {
# 1709|       luaV_Window *w = luaV_checkudata(L, 1, LUAVIM_WINDOW);
# 1710|->     win_T *win = (win_T *) luaV_checkcache(L, (void *) *w);
# 1711|       luaV_pushwindow(L, win->w_next);
# 1712|       return 1;

Error: GCC_ANALYZER_WARNING (CWE-476): [#def96]
vim91/src/if_lua.c:1719:28: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘0’
vim91/src/if_lua.c:1716:1: enter_function: entry to ‘luaV_window_previous’
vim91/src/if_lua.c:1718:22: call_function: calling ‘luaV_checkudata’ from ‘luaV_window_previous’
vim91/src/if_lua.c:1718:22: return_function: returning to ‘luaV_window_previous’ from ‘luaV_checkudata’
vim91/src/if_lua.c:1719:28: danger: dereference of NULL ‘luaV_checkudata(L, 1, & LUAVIM_WINDOW)’
# 1717|   {
# 1718|       luaV_Window *w = luaV_checkudata(L, 1, LUAVIM_WINDOW);
# 1719|->     win_T *win = (win_T *) luaV_checkcache(L, (void *) *w);
# 1720|       luaV_pushwindow(L, win->w_prev);
# 1721|       return 1;

Error: GCC_ANALYZER_WARNING (CWE-476): [#def97]
vim91/src/if_lua.c:1728:5: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘0’
vim91/src/if_lua.c:1725:1: enter_function: entry to ‘luaV_window_isvalid’
vim91/src/if_lua.c:1727:22: call_function: calling ‘luaV_checkudata’ from ‘luaV_window_isvalid’
vim91/src/if_lua.c:1727:22: return_function: returning to ‘luaV_window_isvalid’ from ‘luaV_checkudata’
vim91/src/if_lua.c:1728:5: danger: dereference of NULL ‘luaV_checkudata(L, 1, & LUAVIM_WINDOW)’
# 1726|   {
# 1727|       luaV_Window *w = luaV_checkudata(L, 1, LUAVIM_WINDOW);
# 1728|->     luaV_getudata(L, *w);
# 1729|       lua_pushboolean(L, !lua_isnil(L, -1));
# 1730|       return 1;

Error: COMPILER_WARNING: [#def98]
vim91/src/if_perlsfio.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: CPPCHECK_WARNING (CWE-562): [#def99]
vim91/src/if_py_both.h:236: error[returnDanglingLifetime]: Returning pointer to local variable 'type_spec' that will be invalid when returning.
#  234|   
#  235|       PyObject* newtype = PyType_FromSpec(&type_spec);
#  236|->     return (PyTypeObject*)newtype;
#  237|   }
#  238|   

Error: CPPCHECK_WARNING (CWE-562): [#def100]
vim91/src/if_py_both.h:1192: error[returnDanglingLifetime]: Returning pointer to local variable 'buf' that will be invalid when returning.
# 1190|       }
# 1191|   
# 1192|->     return ret;
# 1193|   }
# 1194|   

Error: COMPILER_WARNING: [#def101]
vim91/src/if_python3.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: COMPILER_WARNING: [#def102]
vim91/src/if_ruby.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: COMPILER_WARNING: [#def103]
vim91/src/if_xcmdsrv.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: COMPILER_WARNING: [#def104]
vim91/src/indent.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: COMPILER_WARNING: [#def105]
vim91/src/insexpand.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: COMPILER_WARNING: [#def106]
vim91/src/job.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: COMPILER_WARNING: [#def107]
vim91/src/json.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: COMPILER_WARNING: [#def108]
vim91/src/libvterm/src/encoding.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: COMPILER_WARNING: [#def109]
vim91/src/libvterm/src/keyboard.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: GCC_ANALYZER_WARNING (CWE-787): [#def110]
vim91/src/libvterm/src/keyboard.c:168:5: warning[-Wanalyzer-out-of-bounds]: buffer over-read
vim91/src/libvterm/src/keyboard.c:156:5: branch_false: following ‘false’ branch (when ‘key != 0’)...
vim91/src/libvterm/src/keyboard.c:160:5: branch_false: ...to here
vim91/src/libvterm/src/keyboard.c:160:5: branch_false: following ‘false’ branch (when ‘key > 255’)...
vim91/src/libvterm/src/keyboard.c:165:11: branch_false: ...to here
vim91/src/libvterm/src/keyboard.c:165:10: branch_true: following ‘true’ branch...
vim91/src/libvterm/src/keyboard.c:166:7: branch_true: ...to here
vim91/src/libvterm/src/keyboard.c:166:7: branch_false: following ‘false’ branch...
vim91/src/libvterm/src/keyboard.c:168:5: branch_false: ...to here
vim91/src/libvterm/src/keyboard.c:168:5: danger: read of 4 bytes at offset ‘key * 12 + 51539604488’ exceeds ‘keycodes_fn’
#  166|       if((key - VTERM_KEY_FUNCTION_0) >= sizeof(keycodes_fn)/sizeof(keycodes_fn[0]))
#  167|         return;
#  168|->     k = keycodes_fn[key - VTERM_KEY_FUNCTION_0];
#  169|     }
#  170|     else if(key >= VTERM_KEY_KP_0) {

Error: GCC_ANALYZER_WARNING (CWE-787): [#def111]
vim91/src/libvterm/src/keyboard.c:173:5: warning[-Wanalyzer-out-of-bounds]: buffer over-read
vim91/src/libvterm/src/keyboard.c:156:5: branch_false: following ‘false’ branch (when ‘key != 0’)...
vim91/src/libvterm/src/keyboard.c:160:5: branch_false: ...to here
vim91/src/libvterm/src/keyboard.c:160:5: branch_false: following ‘false’ branch (when ‘key > 255’)...
vim91/src/libvterm/src/keyboard.c:165:11: branch_false: ...to here
vim91/src/libvterm/src/keyboard.c:165:10: branch_false: following ‘false’ branch...
vim91/src/libvterm/src/keyboard.c:171:8: branch_false: ...to here
vim91/src/libvterm/src/keyboard.c:171:7: branch_false: following ‘false’ branch...
vim91/src/libvterm/src/keyboard.c:173:5: branch_false: ...to here
vim91/src/libvterm/src/keyboard.c:173:5: danger: read of 4 bytes at offset ‘key * 12 + 51539601416’ exceeds ‘keycodes_kp’
#  171|       if((key - VTERM_KEY_KP_0) >= sizeof(keycodes_kp)/sizeof(keycodes_kp[0]))
#  172|         return;
#  173|->     k = keycodes_kp[key - VTERM_KEY_KP_0];
#  174|     }
#  175|   

Error: CPPCHECK_WARNING (CWE-909): [#def112]
vim91/src/libvterm/src/keyboard.c:176: error[uninitStructMember]: Uninitialized struct member: k.type
#  174|     }
#  175|   
#  176|->   switch(k.type) {
#  177|     case KEYCODE_NONE:
#  178|       break;

Error: COMPILER_WARNING: [#def113]
vim91/src/libvterm/src/mouse.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: COMPILER_WARNING: [#def114]
vim91/src/libvterm/src/parser.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: COMPILER_WARNING: [#def115]
vim91/src/libvterm/src/pen.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: COMPILER_WARNING: [#def116]
vim91/src/libvterm/src/screen.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: COMPILER_WARNING: [#def117]
vim91/src/libvterm/src/state.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: COMPILER_WARNING: [#def118]
vim91/src/libvterm/src/unicode.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: COMPILER_WARNING: [#def119]
vim91/src/libvterm/src/vterm.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: COMPILER_WARNING: [#def120]
vim91/src/linematch.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: CPPCHECK_WARNING (CWE-457): [#def121]
vim91/src/linematch.c:321: warning[uninitvar]: Uninitialized variable: df_iters
#  319|   
#  320|   	int choice = 0;
#  321|-> 	size_t unwrapper_idx_to = unwrap_indexes(df_iters, diff_len, ndiffs);
#  322|   
#  323|   	diffcmppath[unwrapper_idx_to].df_lev_score = -1;

Error: CPPCHECK_WARNING (CWE-457): [#def122]
vim91/src/linematch.c:324: warning[uninitvar]: Uninitialized variable: paths
#  322|   
#  323|   	diffcmppath[unwrapper_idx_to].df_lev_score = -1;
#  324|-> 	try_possible_paths(df_iters, paths, npaths, 0, &choice, diffcmppath,
#  325|   					diff_len, ndiffs, diff_blk, iwhite);
#  326|   	return;

Error: COMPILER_WARNING: [#def123]
vim91/src/list.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: GCC_ANALYZER_WARNING (CWE-476): [#def124]
vim91/src/list.c:584:5: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘l’
vim91/src/list.c:2444:1: enter_function: entry to ‘list_filter_map’
vim91/src/list.c:2461:8: branch_false: following ‘false’ branch (when ‘filtermap != 2’)...
vim91/src/list.c:2466:8: branch_false: ...to here
vim91/src/list.c:2466:8: branch_false: following ‘false’ branch (when ‘l’ is non-NULL)...
vim91/src/list.c:2466:9: branch_false: ...to here
vim91/src/list.c:2472:8: branch_false: following ‘false’ branch (when ‘filtermap != 2’)...
vim91/src/list.c:2479:5: branch_false: ...to here
vim91/src/list.c:2487:8: branch_true: following ‘true’ branch...
vim91/src/list.c:2489:25: branch_true: ...to here
vim91/src/list.c:2503:23: branch_true: following ‘true’ branch (when ‘idx < len’)...
vim91/src/list.c:2507:13: branch_true: ...to here
vim91/src/list.c:2511:17: call_function: calling ‘filter_map_one’ from ‘list_filter_map’
vim91/src/list.c:2511:17: return_function: returning to ‘list_filter_map’ from ‘filter_map_one’
vim91/src/list.c:2511:16: branch_false: following ‘false’ branch...
vim91/src/list.c:2513:17: branch_false: ...to here
vim91/src/list.c:2513:16: branch_false: following ‘false’ branch...
vim91/src/list.c:2518:16: branch_false: ...to here
vim91/src/list.c:2518:16: branch_true: following ‘true’ branch (when ‘filtermap != 3’)...
vim91/src/list.c:2520:20: branch_true: ...to here
vim91/src/list.c:2520:20: branch_true: following ‘true’ branch (when ‘filtermap != 0’)...
vim91/src/list.c:2522:25: branch_true: ...to here
vim91/src/list.c:2532:25: branch_false: following ‘false’ branch (when ‘filtermap != 1’)...
 branch_false: ...to here
vim91/src/list.c:2532:25: call_function: calling ‘list_append_tv_move’ from ‘list_filter_map’
#  582|   list_append(list_T *l, listitem_T *item)
#  583|   {
#  584|->     CHECK_LIST_MATERIALIZE(l);
#  585|       if (l->lv_u.mat.lv_last == NULL)
#  586|       {

Error: COMPILER_WARNING: [#def125]
vim91/src/locale.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: COMPILER_WARNING: [#def126]
vim91/src/logfile.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: COMPILER_WARNING: [#def127]
vim91/src/main.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: COMPILER_WARNING: [#def128]
vim91/src/map.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: COMPILER_WARNING: [#def129]
vim91/src/mark.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: COMPILER_WARNING: [#def130]
vim91/src/match.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: GCC_ANALYZER_WARNING (CWE-476): [#def131]
vim91/src/match.c:46:9: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘grp’
vim91/src/match.c:1366:1: enter_function: entry to ‘ex_match’
vim91/src/match.c:1374:8: branch_true: following ‘true’ branch...
vim91/src/match.c:1375:9: branch_true: ...to here
vim91/src/match.c:1386:8: branch_false: following ‘false’ branch...
vim91/src/match.c:1388:15: branch_false: ...to here
vim91/src/match.c:1395:12: branch_false: following ‘false’ branch...
vim91/src/match.c:1397:13: branch_false: ...to here
vim91/src/match.c:1398:12: branch_false: following ‘false’ branch...
vim91/src/match.c:1405:15: branch_false: ...to here
vim91/src/match.c:1406:12: branch_true: following ‘true’ branch...
vim91/src/match.c:1408:17: branch_true: ...to here
vim91/src/match.c:1408:17: branch_false: following ‘false’ branch...
vim91/src/match.c:1414:17: branch_false: ...to here
vim91/src/match.c:1414:16: branch_false: following ‘false’ branch...
vim91/src/match.c:1422:13: branch_false: ...to here
vim91/src/match.c:1423:13: call_function: calling ‘match_add’ from ‘ex_match’
#   44|       int		rtype = UPD_SOME_VALID;
#   45|   
#   46|->     if (*grp == NUL || (pat != NULL && *pat == NUL))
#   47|   	return -1;
#   48|       if (id < -1 || id == 0)

Error: COMPILER_WARNING: [#def132]
vim91/src/mbyte.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: GCC_ANALYZER_WARNING (CWE-401): [#def133]
vim91/src/mbyte.c:4859:8: warning[-Wanalyzer-malloc-leak]: leak of ‘iconv_open(enc_skip(to), enc_skip(from))’
vim91/src/mbyte.c:5169:1: enter_function: entry to ‘convert_setup_ext’
vim91/src/mbyte.c:5191:8: branch_false: following ‘false’ branch...
vim91/src/mbyte.c:5191:9: branch_false: following ‘false’ branch (when the strings are non-equal)...
vim91/src/mbyte.c:5195:17: branch_false: ...to here
vim91/src/mbyte.c:5195:17: call_function: calling ‘enc_canon_props’ from ‘convert_setup_ext’
vim91/src/mbyte.c:5195:17: return_function: returning to ‘convert_setup_ext’ from ‘enc_canon_props’
vim91/src/mbyte.c:5196:15: call_function: calling ‘enc_canon_props’ from ‘convert_setup_ext’
vim91/src/mbyte.c:5196:15: return_function: returning to ‘convert_setup_ext’ from ‘enc_canon_props’
vim91/src/mbyte.c:5262:22: call_function: calling ‘my_iconv_open’ from ‘convert_setup_ext’
# 4857|       fd = iconv_open((char *)enc_skip(to), (char *)enc_skip(from));
# 4858|   
# 4859|->     if (fd != (iconv_t)-1 && iconv_ok == -1)
# 4860|       {
# 4861|   	/*

Error: GCC_ANALYZER_WARNING (CWE-476): [#def134]
vim91/src/mbyte.c:5319:13: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘restp’
vim91/src/mbyte.c:5298:1: enter_function: entry to ‘convert_input_safe’
vim91/src/mbyte.c:5309:9: branch_false: following ‘false’ branch (when ‘restp’ is NULL)...
 branch_false: ...to here
vim91/src/mbyte.c:5309:9: call_function: calling ‘string_convert_ext’ from ‘convert_input_safe’
vim91/src/mbyte.c:5309:9: return_function: returning to ‘convert_input_safe’ from ‘string_convert_ext’
vim91/src/mbyte.c:5311:8: branch_false: following ‘false’ branch...
vim91/src/mbyte.c:5314:9: branch_false: ...to here
vim91/src/mbyte.c:5314:8: branch_true: following ‘true’ branch...
vim91/src/mbyte.c:5316:13: branch_true: ...to here
vim91/src/mbyte.c:5316:12: branch_true: following ‘true’ branch...
vim91/src/mbyte.c:5319:22: branch_true: ...to here
vim91/src/mbyte.c:5319:13: danger: dereference of NULL ‘restp’
# 5317|   	{
# 5318|   	    // Move the unconverted characters to allocated memory.
# 5319|-> 	    *restp = alloc(unconvertlen);
# 5320|   	    if (*restp != NULL)
# 5321|   		mch_memmove(*restp, ptr + len - unconvertlen, unconvertlen);

Error: COMPILER_WARNING: [#def135]
vim91/src/memfile.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: COMPILER_WARNING: [#def136]
vim91/src/memline.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: COMPILER_WARNING: [#def137]
vim91/src/menu.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: COMPILER_WARNING: [#def138]
vim91/src/message.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: COMPILER_WARNING: [#def139]
vim91/src/misc1.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: COMPILER_WARNING: [#def140]
vim91/src/misc2.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: CPPCHECK_WARNING (CWE-457): [#def141]
vim91/src/misc2.c:1780: error[uninitvar]: Uninitialized variable: &target.is_alt
# 1778|   
# 1779|   	entry = (struct key_name_entry *)bsearch(
# 1780|-> 	    &target,
# 1781|   	    &key_names_table,
# 1782|   	    ARRAY_LENGTH(key_names_table),

Error: COMPILER_WARNING: [#def142]
vim91/src/mouse.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: COMPILER_WARNING: [#def143]
vim91/src/move.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: CPPCHECK_WARNING (CWE-476): [#def144]
vim91/src/move.c:3336: warning[nullPointer]: Possible null pointer dereference: curwin
# 3334|       static pos_T	prev_cursor = {0, 0, 0};
# 3335|   
# 3336|->     if (curwin == prev_curwin && EQUAL_POS(curwin->w_cursor, prev_cursor))
# 3337|   	return;
# 3338|       prev_curwin = curwin;

Error: COMPILER_WARNING: [#def145]
vim91/src/netbeans.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: GCC_ANALYZER_WARNING (CWE-476): [#def146]
vim91/src/netbeans.c:1214:29: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘0’
vim91/src/netbeans.c:981:1: enter_function: entry to ‘nb_do_cmd’
vim91/src/netbeans.c:990:24: call_function: calling ‘nb_get_buf’ from ‘nb_do_cmd’
vim91/src/netbeans.c:990:24: return_function: returning to ‘nb_do_cmd’ from ‘nb_get_buf’
vim91/src/netbeans.c:998:8: branch_true: following ‘true’ branch (when ‘func != 0’)...
vim91/src/netbeans.c:1001:13: branch_true: ...to here
vim91/src/netbeans.c:1001:12: branch_false: following ‘false’ branch (when the strings are non-equal)...
vim91/src/netbeans.c:1012:18: branch_false: ...to here
vim91/src/netbeans.c:1012:17: branch_false: following ‘false’ branch (when the strings are non-equal)...
vim91/src/netbeans.c:1021:18: branch_false: ...to here
vim91/src/netbeans.c:1021:17: branch_false: following ‘false’ branch (when the strings are non-equal)...
vim91/src/netbeans.c:1036:18: branch_false: ...to here
vim91/src/netbeans.c:1036:17: branch_false: following ‘false’ branch (when the strings are non-equal)...
vim91/src/netbeans.c:1059:18: branch_false: ...to here
vim91/src/netbeans.c:1059:17: branch_false: following ‘false’ branch (when the strings are non-equal)...
vim91/src/netbeans.c:1076:18: branch_false: ...to here
vim91/src/netbeans.c:1076:17: branch_false: following ‘false’ branch (when the strings are non-equal)...
vim91/src/netbeans.c:1130:18: branch_false: ...to here
vim91/src/netbeans.c:1130:17: branch_true: following ‘true’ branch (when the strings are equal)...
vim91/src/netbeans.c:1137:17: branch_true: ...to here
vim91/src/netbeans.c:1141:16: branch_false: following ‘false’ branch...
vim91/src/netbeans.c:1148:16: branch_false: ...to here
vim91/src/netbeans.c:1148:16: branch_false: following ‘false’ branch...
vim91/src/netbeans.c:1166:23: call_function: calling ‘off2pos’ from ‘nb_do_cmd’
vim91/src/netbeans.c:1166:23: return_function: returning to ‘nb_do_cmd’ from ‘off2pos’
vim91/src/netbeans.c:1167:20: branch_false: following ‘false’ branch...
vim91/src/netbeans.c:1175:17: branch_false: ...to here
vim91/src/netbeans.c:1178:23: call_function: calling ‘off2pos’ from ‘nb_do_cmd’
vim91/src/netbeans.c:1178:23: return_function: returning to ‘nb_do_cmd’ from ‘off2pos’
vim91/src/netbeans.c:1179:20: branch_false: following ‘false’ branch...
vim91/src/netbeans.c:1187:17: branch_false: ...to here
vim91/src/netbeans.c:1197:24: call_function: calling ‘off2pos’ from ‘nb_do_cmd’
vim91/src/netbeans.c:1197:24: return_function: returning to ‘nb_do_cmd’ from ‘off2pos’
vim91/src/netbeans.c:1200:20: branch_true: following ‘true’ branch (when ‘<unknown> != 0’)...
vim91/src/netbeans.c:1203:24: branch_true: ...to here
vim91/src/netbeans.c:1203:24: branch_true: following ‘true’ branch (when ‘<unknown> != <unknown>’)...
vim91/src/netbeans.c:1207:25: branch_true: ...to here
vim91/src/netbeans.c:1207:25: call_function: calling ‘nb_partialremove’ from ‘nb_do_cmd’
vim91/src/netbeans.c:1207:25: return_function: returning to ‘nb_do_cmd’ from ‘nb_partialremove’
vim91/src/netbeans.c:1209:28: branch_true: following ‘true’ branch (when ‘<unknown> == <unknown>’)...
vim91/src/netbeans.c:1214:29: branch_true: ...to here
vim91/src/netbeans.c:1214:29: danger: dereference of NULL ‘off2pos(*<unknown>.bufp,  off + count)’
# 1212|   			    // line.  Join the line with the next one, have
# 1213|   			    // the next line deleted below.
# 1214|-> 			    nb_joinlines(first.lnum, next->lnum);
# 1215|   			    del_to_lnum = next->lnum;
# 1216|   			}

Error: COMPILER_WARNING: [#def147]
vim91/src/normal.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: COMPILER_WARNING: [#def148]
vim91/src/ops.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: GCC_ANALYZER_WARNING (CWE-457): [#def149]
vim91/src/ops.c:1959:13: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value ‘bd.textcol’
vim91/src/ops.c:3853:1: enter_function: entry to ‘do_pending_operator’
vim91/src/ops.c:3885:9: branch_true: following ‘true’ branch...
vim91/src/ops.c:3889:29: branch_true: ...to here
vim91/src/ops.c:4369:16: branch_false: following ‘false’ branch...
vim91/src/ops.c:4380:21: branch_false: ...to here
vim91/src/ops.c:4393:21: call_function: calling ‘op_change’ from ‘do_pending_operator’
# 1957|   	// the indent, exclude that indent change from the inserted text.
# 1958|   	firstline = ml_get(oap->start.lnum);
# 1959|-> 	if (bd.textcol > (colnr_T)pre_indent)
# 1960|   	{
# 1961|   	    long new_indent = (long)getwhitecols(firstline);

Error: GCC_ANALYZER_WARNING (CWE-457): [#def150]
vim91/src/ops.c:2204:23: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value ‘prev_was_comment’
vim91/src/ops.c:3853:1: enter_function: entry to ‘do_pending_operator’
vim91/src/ops.c:3885:9: branch_true: following ‘true’ branch...
vim91/src/ops.c:3889:29: branch_true: ...to here
vim91/src/ops.c:4317:16: branch_false: following ‘false’ branch...
vim91/src/ops.c:4319:23: branch_false: ...to here
vim91/src/ops.c:4319:16: branch_false: following ‘false’ branch...
vim91/src/ops.c:4324:23: branch_false: ...to here
vim91/src/ops.c:4324:23: call_function: calling ‘do_join’ from ‘do_pending_operator’
# 2202|   	    // We don't want to remove the comment leader if the
# 2203|   	    // previous line is not a comment.
# 2204|-> 	    if (t > 0 && prev_was_comment)
# 2205|   	    {
# 2206|   

Error: GCC_ANALYZER_WARNING (CWE-457): [#def151]
vim91/src/ops.c:2457:27: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value ‘*oap.start_vcol’
vim91/src/ops.c:3327:1: enter_function: entry to ‘cursor_pos_info’
vim91/src/ops.c:3350:8: branch_false: following ‘false’ branch...
vim91/src/ops.c:3360:13: branch_false: ...to here
vim91/src/ops.c:3365:12: branch_true: following ‘true’ branch...
vim91/src/ops.c:3367:17: branch_true: ...to here
vim91/src/ops.c:3377:16: branch_true: following ‘true’ branch...
vim91/src/ops.c:3380:16: branch_false: following ‘false’ branch...
vim91/src/ops.c:3409:35: branch_false: ...to here
vim91/src/ops.c:3412:24: branch_true: following ‘true’ branch...
vim91/src/ops.c:3415:16: branch_true: ...to here
vim91/src/ops.c:3415:16: branch_false: following ‘false’ branch (when ‘byte_count <= last_check’)...
vim91/src/ops.c:3424:17: branch_false: ...to here
vim91/src/ops.c:3424:16: branch_true: following ‘true’ branch...
vim91/src/ops.c:3425:32: branch_true: ...to here
vim91/src/ops.c:3424:17: branch_true: following ‘true’ branch...
vim91/src/ops.c:3434:25: call_function: calling ‘block_prep’ from ‘cursor_pos_info’
# 2455|       prev_pstart = line;
# 2456|       init_chartabsize_arg(&cts, curwin, lnum, bdp->start_vcol, line, line);
# 2457|->     while (cts.cts_vcol < oap->start_vcol && *cts.cts_ptr != NUL)
# 2458|       {
# 2459|   	// Count a tab for what it's worth (if list mode not on)

Error: GCC_ANALYZER_WARNING (CWE-457): [#def152]
vim91/src/ops.c:3499:36: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value ‘oparg.end_vcol’
vim91/src/ops.c:3350:8: branch_false: following ‘false’ branch...
vim91/src/ops.c:3360:13: branch_false: ...to here
vim91/src/ops.c:3365:12: branch_true: following ‘true’ branch...
vim91/src/ops.c:3367:17: branch_true: ...to here
vim91/src/ops.c:3377:16: branch_true: following ‘true’ branch...
vim91/src/ops.c:3380:16: branch_false: following ‘false’ branch...
vim91/src/ops.c:3409:35: branch_false: ...to here
vim91/src/ops.c:3412:24: branch_false: following ‘false’ branch...
vim91/src/ops.c:3487:14: branch_false: ...to here
vim91/src/ops.c:3490:12: branch_true: following ‘true’ branch (when ‘dict’ is NULL)...
vim91/src/ops.c:3492:17: branch_true: ...to here
vim91/src/ops.c:3492:16: branch_true: following ‘true’ branch...
vim91/src/ops.c:3494:21: branch_true: ...to here
vim91/src/ops.c:3494:20: branch_true: following ‘true’ branch...
vim91/src/ops.c:3499:36: danger: use of uninitialized value ‘oparg.end_vcol’ here
# 3497|   								    &max_pos.col);
# 3498|   		    vim_snprintf((char *)buf1, sizeof(buf1), _("%ld Cols; "),
# 3499|-> 			    (long)(oparg.end_vcol - oparg.start_vcol + 1));
# 3500|   		}
# 3501|   		else

Error: COMPILER_WARNING: [#def153]
vim91/src/option.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: GCC_ANALYZER_WARNING (CWE-476): [#def154]
vim91/src/option.c:825:17: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘0’
vim91/src/option.c:8532:1: enter_function: entry to ‘compatible_set’
vim91/src/option.c:8539:13: call_function: calling ‘set_option_default’ from ‘compatible_set’
vim91/src/option.c:8539:13: return_function: returning to ‘compatible_set’ from ‘set_option_default’
vim91/src/option.c:8539:13: call_function: calling ‘set_option_default’ from ‘compatible_set’
#  823|   	    // May also set global value for local option.
#  824|   	    if (both)
#  825|-> 		*(int *)get_varp_scope(&(options[opt_idx]), OPT_GLOBAL) =
#  826|   								*(int *)varp;
#  827|   	}

Error: GCC_ANALYZER_WARNING (CWE-476): [#def155]
vim91/src/option.c:8224:13: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘0’
vim91/src/option.c:8214:1: enter_function: entry to ‘ExpandSettingSubtract’
vim91/src/option.c:8220:8: branch_false: following ‘false’ branch...
vim91/src/option.c:8224:27: branch_false: ...to here
vim91/src/option.c:8224:37: call_function: inlined call to ‘get_option_varp_scope’ from ‘ExpandSettingSubtract’
vim91/src/option.c:8224:37: call_function: inlined call to ‘get_option_varp_scope’ from ‘ExpandSettingSubtract’
vim91/src/option.c:8224:13: danger: dereference of NULL ‘get_varp_scope(&options[<unknown>], expand_option_flags)’
# 8222|   	return ExpandOldSetting(numMatches, matches);
# 8223|   
# 8224|->     char_u *option_val = *(char_u**)get_option_varp_scope(
# 8225|   	expand_option_idx, expand_option_flags);
# 8226|   

Error: GCC_ANALYZER_WARNING (CWE-476): [#def156]
vim91/src/option.c:8376:13: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘0’
vim91/src/option.c:8359:1: enter_function: entry to ‘option_value2string’
vim91/src/option.c:8365:12: call_function: calling ‘get_varp_scope’ from ‘option_value2string’
vim91/src/option.c:8365:12: return_function: returning to ‘option_value2string’ from ‘get_varp_scope’
vim91/src/option.c:8367:8: branch_true: following ‘true’ branch...
vim91/src/option.c:8369:14: branch_true: ...to here
vim91/src/option.c:8371:13: call_function: calling ‘wc_use_keyname’ from ‘option_value2string’
vim91/src/option.c:8371:13: return_function: returning to ‘option_value2string’ from ‘wc_use_keyname’
vim91/src/option.c:8371:12: branch_false: following ‘false’ branch...
vim91/src/option.c:8373:18: branch_false: ...to here
vim91/src/option.c:8373:17: branch_false: following ‘false’ branch...
vim91/src/option.c:8376:13: branch_false: ...to here
vim91/src/option.c:8376:13: danger: dereference of NULL ‘get_varp_scope(opp,  scope)’
# 8374|   	    STRCPY(NameBuff, transchar((int)wc));
# 8375|   	else
# 8376|-> 	    sprintf((char *)NameBuff, "%ld", *(long *)varp);
# 8377|       }
# 8378|       else    // P_STRING

Error: GCC_ANALYZER_WARNING (CWE-476): [#def157]
vim91/src/option.c:8376:13: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘args.oe_varp’
vim91/src/option.c:8166:1: enter_function: entry to ‘ExpandStringSetting’
vim91/src/option.c:8175:8: branch_false: following ‘false’ branch...
vim91/src/option.c:8176:13: branch_false: ...to here
vim91/src/option.c:8175:9: branch_false: following ‘false’ branch...
vim91/src/option.c:8184:20: branch_false: ...to here
vim91/src/option.c:8184:20: call_function: calling ‘get_varp_scope’ from ‘ExpandStringSetting’
vim91/src/option.c:8184:20: return_function: returning to ‘ExpandStringSetting’ from ‘get_varp_scope’
vim91/src/option.c:8184:5: release_memory: ‘args.oe_varp’ is NULL
vim91/src/option.c:8196:5: call_function: calling ‘option_value2string’ from ‘ExpandStringSetting’
# 8374|   	    STRCPY(NameBuff, transchar((int)wc));
# 8375|   	else
# 8376|-> 	    sprintf((char *)NameBuff, "%ld", *(long *)varp);
# 8377|       }
# 8378|       else    // P_STRING

Error: GCC_ANALYZER_WARNING (CWE-476): [#def158]
vim91/src/option.c:8380:9: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘0’
vim91/src/option.c:8359:1: enter_function: entry to ‘option_value2string’
vim91/src/option.c:8365:12: call_function: calling ‘get_varp_scope’ from ‘option_value2string’
vim91/src/option.c:8365:12: return_function: returning to ‘option_value2string’ from ‘get_varp_scope’
vim91/src/option.c:8367:8: branch_false: following ‘false’ branch...
vim91/src/option.c:8380:9: branch_false: ...to here
vim91/src/option.c:8380:9: danger: dereference of NULL ‘get_varp_scope(opp,  scope)’
# 8378|       else    // P_STRING
# 8379|       {
# 8380|-> 	varp = *(char_u **)(varp);
# 8381|   	if (varp == NULL)		    // just in case
# 8382|   	    NameBuff[0] = NUL;

Error: GCC_ANALYZER_WARNING (CWE-476): [#def159]
vim91/src/option.c:8380:9: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘args.oe_varp’
vim91/src/option.c:8166:1: enter_function: entry to ‘ExpandStringSetting’
vim91/src/option.c:8175:8: branch_false: following ‘false’ branch...
vim91/src/option.c:8176:13: branch_false: ...to here
vim91/src/option.c:8175:9: branch_false: following ‘false’ branch...
vim91/src/option.c:8184:20: branch_false: ...to here
vim91/src/option.c:8184:20: call_function: calling ‘get_varp_scope’ from ‘ExpandStringSetting’
vim91/src/option.c:8184:20: return_function: returning to ‘ExpandStringSetting’ from ‘get_varp_scope’
vim91/src/option.c:8184:5: release_memory: ‘args.oe_varp’ is NULL
vim91/src/option.c:8196:5: call_function: calling ‘option_value2string’ from ‘ExpandStringSetting’
# 8378|       else    // P_STRING
# 8379|       {
# 8380|-> 	varp = *(char_u **)(varp);
# 8381|   	if (varp == NULL)		    // just in case
# 8382|   	    NameBuff[0] = NUL;

Error: COMPILER_WARNING: [#def160]
vim91/src/optionstr.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: COMPILER_WARNING: [#def161]
vim91/src/os_unix.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: GCC_ANALYZER_WARNING (CWE-457): [#def162]
vim91/src/os_unix.c:5023:21: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value ‘fd_toshell[0]’
vim91/src/os_unix.c:5749:1: enter_function: entry to ‘mch_call_shell’
vim91/src/os_unix.c:5764:12: call_function: calling ‘mch_call_shell_fork’ from ‘mch_call_shell’
# 5021|   # endif
# 5022|   		{
# 5023|-> 		    close(fd_toshell[0]);
# 5024|   		    close(fd_toshell[1]);
# 5025|   		    close(fd_fromshell[0]);

Error: GCC_ANALYZER_WARNING (CWE-775): [#def163]
vim91/src/os_unix.c:5072:21: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘vim_ignored’
vim91/src/os_unix.c:5749:1: enter_function: entry to ‘mch_call_shell’
vim91/src/os_unix.c:5764:12: call_function: calling ‘mch_call_shell_fork’ from ‘mch_call_shell’
# 5070|   		{
# 5071|   		    vim_ignored = dup(fd); // To replace stdin  (fd 0)
# 5072|-> 		    vim_ignored = dup(fd); // To replace stdout (fd 1)
# 5073|   		    vim_ignored = dup(fd); // To replace stderr (fd 2)
# 5074|   

Error: GCC_ANALYZER_WARNING (CWE-775): [#def164]
vim91/src/os_unix.c:5073:21: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘vim_ignored’
vim91/src/os_unix.c:5749:1: enter_function: entry to ‘mch_call_shell’
vim91/src/os_unix.c:5764:12: call_function: calling ‘mch_call_shell_fork’ from ‘mch_call_shell’
# 5071|   		    vim_ignored = dup(fd); // To replace stdin  (fd 0)
# 5072|   		    vim_ignored = dup(fd); // To replace stdout (fd 1)
# 5073|-> 		    vim_ignored = dup(fd); // To replace stderr (fd 2)
# 5074|   
# 5075|   		    // Don't need this now that we've duplicated it

Error: GCC_ANALYZER_WARNING (CWE-775): [#def165]
vim91/src/os_unix.c:5131:21: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘vim_ignored’
vim91/src/os_unix.c:5749:1: enter_function: entry to ‘mch_call_shell’
vim91/src/os_unix.c:5764:12: call_function: calling ‘mch_call_shell_fork’ from ‘mch_call_shell’
# 5129|   		    vim_ignored = dup(pty_slave_fd);
# 5130|   		    close(1);
# 5131|-> 		    vim_ignored = dup(pty_slave_fd);
# 5132|   		    if (gui.in_use)
# 5133|   		    {

Error: GCC_ANALYZER_WARNING (CWE-775): [#def166]
vim91/src/os_unix.c:5135:25: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘vim_ignored’
vim91/src/os_unix.c:5749:1: enter_function: entry to ‘mch_call_shell’
vim91/src/os_unix.c:5764:12: call_function: calling ‘mch_call_shell_fork’ from ‘mch_call_shell’
# 5133|   		    {
# 5134|   			close(2);
# 5135|-> 			vim_ignored = dup(pty_slave_fd);
# 5136|   		    }
# 5137|   

Error: GCC_ANALYZER_WARNING (CWE-457): [#def167]
vim91/src/os_unix.c:5144:21: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value ‘fd_toshell[1]’
vim91/src/os_unix.c:5749:1: enter_function: entry to ‘mch_call_shell’
vim91/src/os_unix.c:5764:12: call_function: calling ‘mch_call_shell_fork’ from ‘mch_call_shell’
# 5142|   		{
# 5143|   		    // set up stdin for the child
# 5144|-> 		    close(fd_toshell[1]);
# 5145|   		    close(0);
# 5146|   		    vim_ignored = dup(fd_toshell[0]);

Error: GCC_ANALYZER_WARNING (CWE-775): [#def168]
vim91/src/os_unix.c:5152:21: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘vim_ignored’
vim91/src/os_unix.c:5749:1: enter_function: entry to ‘mch_call_shell’
vim91/src/os_unix.c:5764:12: call_function: calling ‘mch_call_shell_fork’ from ‘mch_call_shell’
# 5150|   		    close(fd_fromshell[0]);
# 5151|   		    close(1);
# 5152|-> 		    vim_ignored = dup(fd_fromshell[1]);
# 5153|   		    close(fd_fromshell[1]);
# 5154|   

Error: GCC_ANALYZER_WARNING (CWE-775): [#def169]
vim91/src/os_unix.c:5160:25: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘vim_ignored’
vim91/src/os_unix.c:5749:1: enter_function: entry to ‘mch_call_shell’
vim91/src/os_unix.c:5764:12: call_function: calling ‘mch_call_shell_fork’ from ‘mch_call_shell’
# 5158|   			// set up stderr for the child
# 5159|   			close(2);
# 5160|-> 			vim_ignored = dup(1);
# 5161|   		    }
# 5162|   # endif

Error: GCC_ANALYZER_WARNING (CWE-910): [#def170]
vim91/src/os_unix.c:5160:39: warning[-Wanalyzer-fd-use-after-close]: ‘dup’ on closed file descriptor ‘1’
vim91/src/os_unix.c:5749:1: enter_function: entry to ‘mch_call_shell’
vim91/src/os_unix.c:5764:12: call_function: calling ‘mch_call_shell_fork’ from ‘mch_call_shell’
# 5158|   			// set up stderr for the child
# 5159|   			close(2);
# 5160|-> 			vim_ignored = dup(1);
# 5161|   		    }
# 5162|   # endif

Error: GCC_ANALYZER_WARNING (CWE-775): [#def171]
vim91/src/os_unix.c:5744:12: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘fd_fromshell[0]’
vim91/src/os_unix.c:4918:1: enter_function: entry to ‘mch_call_shell_fork’
vim91/src/os_unix.c:4952:9: call_function: calling ‘unix_build_argv’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:4952:9: return_function: returning to ‘mch_call_shell_fork’ from ‘unix_build_argv’
vim91/src/os_unix.c:4952:8: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:4960:9: branch_false: ...to here
vim91/src/os_unix.c:4960:8: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:4980:27: branch_true: ...to here
vim91/src/os_unix.c:4981:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:4983:31: branch_true: ...to here
vim91/src/os_unix.c:4984:20: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:4990:16: branch_false: ...to here
vim91/src/os_unix.c:4990:16: branch_false: following ‘false’ branch (when ‘pipe_error == 0’)...
vim91/src/os_unix.c:5001:9: branch_false: ...to here
vim91/src/os_unix.c:5003:12: branch_true: following ‘true’ branch (when ‘pid == -1’)...
vim91/src/os_unix.c:5005:13: call_function: inlined call to ‘unblock_signals’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5008:16: branch_false: following ‘false’ branch...
 branch_false: ...to here
vim91/src/os_unix.c:5737:12: branch_false: following ‘false’ branch (when ‘tmode != 2’)...
 branch_false: ...to here
vim91/src/os_unix.c:5744:12: danger: ‘fd_fromshell[0]’ leaks here
# 5742|       vim_free(tofree2);
# 5743|   
# 5744|->     return retval;
# 5745|   }
# 5746|   #endif // USE_SYSTEM

Error: GCC_ANALYZER_WARNING (CWE-775): [#def172]
vim91/src/os_unix.c:5744:12: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘fd_fromshell[1]’
vim91/src/os_unix.c:4918:1: enter_function: entry to ‘mch_call_shell_fork’
vim91/src/os_unix.c:4952:9: call_function: calling ‘unix_build_argv’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:4952:9: return_function: returning to ‘mch_call_shell_fork’ from ‘unix_build_argv’
vim91/src/os_unix.c:4952:8: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:4960:9: branch_false: ...to here
vim91/src/os_unix.c:4960:8: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:4980:27: branch_true: ...to here
vim91/src/os_unix.c:4981:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:4983:31: branch_true: ...to here
vim91/src/os_unix.c:4984:20: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:4990:16: branch_false: ...to here
vim91/src/os_unix.c:4990:16: branch_false: following ‘false’ branch (when ‘pipe_error == 0’)...
vim91/src/os_unix.c:5001:9: branch_false: ...to here
vim91/src/os_unix.c:5003:12: branch_true: following ‘true’ branch (when ‘pid == -1’)...
vim91/src/os_unix.c:5005:13: call_function: inlined call to ‘unblock_signals’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5008:16: branch_false: following ‘false’ branch...
 branch_false: ...to here
vim91/src/os_unix.c:5737:12: branch_false: following ‘false’ branch (when ‘tmode != 2’)...
 branch_false: ...to here
vim91/src/os_unix.c:5744:12: danger: ‘fd_fromshell[1]’ leaks here
# 5742|       vim_free(tofree2);
# 5743|   
# 5744|->     return retval;
# 5745|   }
# 5746|   #endif // USE_SYSTEM

Error: GCC_ANALYZER_WARNING (CWE-775): [#def173]
vim91/src/os_unix.c:5744:12: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘fd_toshell[0]’
vim91/src/os_unix.c:4918:1: enter_function: entry to ‘mch_call_shell_fork’
vim91/src/os_unix.c:4952:9: call_function: calling ‘unix_build_argv’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:4952:9: return_function: returning to ‘mch_call_shell_fork’ from ‘unix_build_argv’
vim91/src/os_unix.c:4952:8: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:4960:9: branch_false: ...to here
vim91/src/os_unix.c:4960:8: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:4980:27: branch_true: ...to here
vim91/src/os_unix.c:4981:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:4983:31: branch_true: ...to here
vim91/src/os_unix.c:4984:20: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:4990:16: branch_false: ...to here
vim91/src/os_unix.c:4990:16: branch_false: following ‘false’ branch (when ‘pipe_error == 0’)...
vim91/src/os_unix.c:5001:9: branch_false: ...to here
vim91/src/os_unix.c:5003:12: branch_true: following ‘true’ branch (when ‘pid == -1’)...
vim91/src/os_unix.c:5005:13: call_function: inlined call to ‘unblock_signals’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5008:16: branch_false: following ‘false’ branch...
 branch_false: ...to here
vim91/src/os_unix.c:5737:12: branch_false: following ‘false’ branch (when ‘tmode != 2’)...
 branch_false: ...to here
vim91/src/os_unix.c:5744:12: danger: ‘fd_toshell[0]’ leaks here
# 5742|       vim_free(tofree2);
# 5743|   
# 5744|->     return retval;
# 5745|   }
# 5746|   #endif // USE_SYSTEM

Error: GCC_ANALYZER_WARNING (CWE-775): [#def174]
vim91/src/os_unix.c:5744:12: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘fd_toshell[1]’
vim91/src/os_unix.c:4918:1: enter_function: entry to ‘mch_call_shell_fork’
vim91/src/os_unix.c:4952:9: call_function: calling ‘unix_build_argv’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:4952:9: return_function: returning to ‘mch_call_shell_fork’ from ‘unix_build_argv’
vim91/src/os_unix.c:4952:8: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:4960:9: branch_false: ...to here
vim91/src/os_unix.c:4960:8: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:4980:27: branch_true: ...to here
vim91/src/os_unix.c:4981:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:4983:31: branch_true: ...to here
vim91/src/os_unix.c:4984:20: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:4990:16: branch_false: ...to here
vim91/src/os_unix.c:4990:16: branch_false: following ‘false’ branch (when ‘pipe_error == 0’)...
vim91/src/os_unix.c:5001:9: branch_false: ...to here
vim91/src/os_unix.c:5003:12: branch_true: following ‘true’ branch (when ‘pid == -1’)...
vim91/src/os_unix.c:5005:13: call_function: inlined call to ‘unblock_signals’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5008:16: branch_false: following ‘false’ branch...
 branch_false: ...to here
vim91/src/os_unix.c:5737:12: branch_false: following ‘false’ branch (when ‘tmode != 2’)...
 branch_false: ...to here
vim91/src/os_unix.c:5744:12: danger: ‘fd_toshell[1]’ leaks here
# 5742|       vim_free(tofree2);
# 5743|   
# 5744|->     return retval;
# 5745|   }
# 5746|   #endif // USE_SYSTEM

Error: GCC_ANALYZER_WARNING (CWE-775): [#def175]
vim91/src/os_unix.c:6112:1: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘fd_in[0]’
vim91/src/os_unix.c:5804:8: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5818:12: branch_false: ...to here
vim91/src/os_unix.c:5818:12: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5818:34: branch_true: ...to here
vim91/src/os_unix.c:5818:13: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5822:8: branch_false: ...to here
vim91/src/os_unix.c:6096:8: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:6098:9: branch_false: ...to here
vim91/src/os_unix.c:6098:8: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:6100:9: branch_false: ...to here
vim91/src/os_unix.c:6100:8: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:6102:9: branch_false: ...to here
vim91/src/os_unix.c:6104:8: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:6106:9: branch_false: ...to here
vim91/src/os_unix.c:6112:1: danger: ‘fd_in[0]’ leaks here
# 6110|       if (pty_slave_fd >= 0)
# 6111|   	close(pty_slave_fd);
# 6112|-> }
# 6113|   
# 6114|       static char_u *

Error: GCC_ANALYZER_WARNING (CWE-775): [#def176]
vim91/src/os_unix.c:6112:1: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘fd_in[1]’
vim91/src/os_unix.c:5804:8: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5818:12: branch_false: ...to here
vim91/src/os_unix.c:5818:12: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5818:34: branch_true: ...to here
vim91/src/os_unix.c:5818:13: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5822:8: branch_false: ...to here
vim91/src/os_unix.c:6096:8: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:6098:9: branch_false: ...to here
vim91/src/os_unix.c:6098:8: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:6100:9: branch_false: ...to here
vim91/src/os_unix.c:6100:8: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:6102:9: branch_false: ...to here
vim91/src/os_unix.c:6104:8: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:6106:9: branch_false: ...to here
vim91/src/os_unix.c:6112:1: danger: ‘fd_in[1]’ leaks here
# 6110|       if (pty_slave_fd >= 0)
# 6111|   	close(pty_slave_fd);
# 6112|-> }
# 6113|   
# 6114|       static char_u *

Error: COMPILER_WARNING: [#def177]
vim91/src/popupmenu.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: COMPILER_WARNING: [#def178]
vim91/src/popupwin.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: COMPILER_WARNING: [#def179]
vim91/src/profiler.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: COMPILER_WARNING: [#def180]
vim91/src/pty.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: COMPILER_WARNING: [#def181]
vim91/src/quickfix.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: COMPILER_WARNING: [#def182]
vim91/src/regexp.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: CPPCHECK_WARNING (CWE-909): [#def183]
vim91/src/regexp.c:2101: error[uninitStructMember]: Uninitialized struct member: rex_save.input
# 2099|       rex_in_use = rex_in_use_save;
# 2100|       if (rex_in_use)
# 2101|-> 	rex = rex_save;
# 2102|   
# 2103|       return result;

Error: CPPCHECK_WARNING (CWE-909): [#def184]
vim91/src/regexp.c:2101: error[uninitStructMember]: Uninitialized struct member: rex_save.line
# 2099|       rex_in_use = rex_in_use_save;
# 2100|       if (rex_in_use)
# 2101|-> 	rex = rex_save;
# 2102|   
# 2103|       return result;

Error: CPPCHECK_WARNING (CWE-909): [#def185]
vim91/src/regexp.c:2101: error[uninitStructMember]: Uninitialized struct member: rex_save.lnum
# 2099|       rex_in_use = rex_in_use_save;
# 2100|       if (rex_in_use)
# 2101|-> 	rex = rex_save;
# 2102|   
# 2103|       return result;

Error: CPPCHECK_WARNING (CWE-909): [#def186]
vim91/src/regexp.c:2101: error[uninitStructMember]: Uninitialized struct member: rex_save.need_clear_subexpr
# 2099|       rex_in_use = rex_in_use_save;
# 2100|       if (rex_in_use)
# 2101|-> 	rex = rex_save;
# 2102|   
# 2103|       return result;

Error: CPPCHECK_WARNING (CWE-909): [#def187]
vim91/src/regexp.c:2101: error[uninitStructMember]: Uninitialized struct member: rex_save.need_clear_zsubexpr
# 2099|       rex_in_use = rex_in_use_save;
# 2100|       if (rex_in_use)
# 2101|-> 	rex = rex_save;
# 2102|   
# 2103|       return result;

Error: CPPCHECK_WARNING (CWE-909): [#def188]
vim91/src/regexp.c:2101: error[uninitStructMember]: Uninitialized struct member: rex_save.nfa_alt_listid
# 2099|       rex_in_use = rex_in_use_save;
# 2100|       if (rex_in_use)
# 2101|-> 	rex = rex_save;
# 2102|   
# 2103|       return result;

Error: CPPCHECK_WARNING (CWE-909): [#def189]
vim91/src/regexp.c:2101: error[uninitStructMember]: Uninitialized struct member: rex_save.nfa_has_backref
# 2099|       rex_in_use = rex_in_use_save;
# 2100|       if (rex_in_use)
# 2101|-> 	rex = rex_save;
# 2102|   
# 2103|       return result;

Error: CPPCHECK_WARNING (CWE-909): [#def190]
vim91/src/regexp.c:2101: error[uninitStructMember]: Uninitialized struct member: rex_save.nfa_has_zend
# 2099|       rex_in_use = rex_in_use_save;
# 2100|       if (rex_in_use)
# 2101|-> 	rex = rex_save;
# 2102|   
# 2103|       return result;

Error: CPPCHECK_WARNING (CWE-909): [#def191]
vim91/src/regexp.c:2101: error[uninitStructMember]: Uninitialized struct member: rex_save.nfa_has_zsubexpr
# 2099|       rex_in_use = rex_in_use_save;
# 2100|       if (rex_in_use)
# 2101|-> 	rex = rex_save;
# 2102|   
# 2103|       return result;

Error: CPPCHECK_WARNING (CWE-909): [#def192]
vim91/src/regexp.c:2101: error[uninitStructMember]: Uninitialized struct member: rex_save.nfa_listid
# 2099|       rex_in_use = rex_in_use_save;
# 2100|       if (rex_in_use)
# 2101|-> 	rex = rex_save;
# 2102|   
# 2103|       return result;

Error: CPPCHECK_WARNING (CWE-909): [#def193]
vim91/src/regexp.c:2101: error[uninitStructMember]: Uninitialized struct member: rex_save.nfa_nsubexpr
# 2099|       rex_in_use = rex_in_use_save;
# 2100|       if (rex_in_use)
# 2101|-> 	rex = rex_save;
# 2102|   
# 2103|       return result;

Error: CPPCHECK_WARNING (CWE-909): [#def194]
vim91/src/regexp.c:2101: error[uninitStructMember]: Uninitialized struct member: rex_save.reg_buf
# 2099|       rex_in_use = rex_in_use_save;
# 2100|       if (rex_in_use)
# 2101|-> 	rex = rex_save;
# 2102|   
# 2103|       return result;

Error: CPPCHECK_WARNING (CWE-909): [#def195]
vim91/src/regexp.c:2101: error[uninitStructMember]: Uninitialized struct member: rex_save.reg_endp
# 2099|       rex_in_use = rex_in_use_save;
# 2100|       if (rex_in_use)
# 2101|-> 	rex = rex_save;
# 2102|   
# 2103|       return result;

Error: CPPCHECK_WARNING (CWE-909): [#def196]
vim91/src/regexp.c:2101: error[uninitStructMember]: Uninitialized struct member: rex_save.reg_endpos
# 2099|       rex_in_use = rex_in_use_save;
# 2100|       if (rex_in_use)
# 2101|-> 	rex = rex_save;
# 2102|   
# 2103|       return result;

Error: CPPCHECK_WARNING (CWE-909): [#def197]
vim91/src/regexp.c:2101: error[uninitStructMember]: Uninitialized struct member: rex_save.reg_firstlnum
# 2099|       rex_in_use = rex_in_use_save;
# 2100|       if (rex_in_use)
# 2101|-> 	rex = rex_save;
# 2102|   
# 2103|       return result;

Error: CPPCHECK_WARNING (CWE-909): [#def198]
vim91/src/regexp.c:2101: error[uninitStructMember]: Uninitialized struct member: rex_save.reg_ic
# 2099|       rex_in_use = rex_in_use_save;
# 2100|       if (rex_in_use)
# 2101|-> 	rex = rex_save;
# 2102|   
# 2103|       return result;

Error: CPPCHECK_WARNING (CWE-909): [#def199]
vim91/src/regexp.c:2101: error[uninitStructMember]: Uninitialized struct member: rex_save.reg_icombine
# 2099|       rex_in_use = rex_in_use_save;
# 2100|       if (rex_in_use)
# 2101|-> 	rex = rex_save;
# 2102|   
# 2103|       return result;

Error: CPPCHECK_WARNING (CWE-909): [#def200]
vim91/src/regexp.c:2101: error[uninitStructMember]: Uninitialized struct member: rex_save.reg_line_lbr
# 2099|       rex_in_use = rex_in_use_save;
# 2100|       if (rex_in_use)
# 2101|-> 	rex = rex_save;
# 2102|   
# 2103|       return result;

Error: CPPCHECK_WARNING (CWE-909): [#def201]
vim91/src/regexp.c:2101: error[uninitStructMember]: Uninitialized struct member: rex_save.reg_match
# 2099|       rex_in_use = rex_in_use_save;
# 2100|       if (rex_in_use)
# 2101|-> 	rex = rex_save;
# 2102|   
# 2103|       return result;

Error: CPPCHECK_WARNING (CWE-909): [#def202]
vim91/src/regexp.c:2101: error[uninitStructMember]: Uninitialized struct member: rex_save.reg_maxcol
# 2099|       rex_in_use = rex_in_use_save;
# 2100|       if (rex_in_use)
# 2101|-> 	rex = rex_save;
# 2102|   
# 2103|       return result;

Error: CPPCHECK_WARNING (CWE-909): [#def203]
vim91/src/regexp.c:2101: error[uninitStructMember]: Uninitialized struct member: rex_save.reg_maxline
# 2099|       rex_in_use = rex_in_use_save;
# 2100|       if (rex_in_use)
# 2101|-> 	rex = rex_save;
# 2102|   
# 2103|       return result;

Error: CPPCHECK_WARNING (CWE-909): [#def204]
vim91/src/regexp.c:2101: error[uninitStructMember]: Uninitialized struct member: rex_save.reg_mmatch
# 2099|       rex_in_use = rex_in_use_save;
# 2100|       if (rex_in_use)
# 2101|-> 	rex = rex_save;
# 2102|   
# 2103|       return result;

Error: CPPCHECK_WARNING (CWE-909): [#def205]
vim91/src/regexp.c:2101: error[uninitStructMember]: Uninitialized struct member: rex_save.reg_startp
# 2099|       rex_in_use = rex_in_use_save;
# 2100|       if (rex_in_use)
# 2101|-> 	rex = rex_save;
# 2102|   
# 2103|       return result;

Error: CPPCHECK_WARNING (CWE-909): [#def206]
vim91/src/regexp.c:2101: error[uninitStructMember]: Uninitialized struct member: rex_save.reg_startpos
# 2099|       rex_in_use = rex_in_use_save;
# 2100|       if (rex_in_use)
# 2101|-> 	rex = rex_save;
# 2102|   
# 2103|       return result;

Error: CPPCHECK_WARNING (CWE-909): [#def207]
vim91/src/regexp.c:2101: error[uninitStructMember]: Uninitialized struct member: rex_save.reg_win
# 2099|       rex_in_use = rex_in_use_save;
# 2100|       if (rex_in_use)
# 2101|-> 	rex = rex_save;
# 2102|   
# 2103|       return result;

Error: CPPCHECK_WARNING (CWE-909): [#def208]
vim91/src/regexp.c:2134: error[uninitStructMember]: Uninitialized struct member: rex_save.input
# 2132|       rex_in_use = rex_in_use_save;
# 2133|       if (rex_in_use)
# 2134|-> 	rex = rex_save;
# 2135|   
# 2136|       return result;

Error: CPPCHECK_WARNING (CWE-909): [#def209]
vim91/src/regexp.c:2134: error[uninitStructMember]: Uninitialized struct member: rex_save.line
# 2132|       rex_in_use = rex_in_use_save;
# 2133|       if (rex_in_use)
# 2134|-> 	rex = rex_save;
# 2135|   
# 2136|       return result;

Error: CPPCHECK_WARNING (CWE-909): [#def210]
vim91/src/regexp.c:2134: error[uninitStructMember]: Uninitialized struct member: rex_save.lnum
# 2132|       rex_in_use = rex_in_use_save;
# 2133|       if (rex_in_use)
# 2134|-> 	rex = rex_save;
# 2135|   
# 2136|       return result;

Error: CPPCHECK_WARNING (CWE-909): [#def211]
vim91/src/regexp.c:2134: error[uninitStructMember]: Uninitialized struct member: rex_save.need_clear_subexpr
# 2132|       rex_in_use = rex_in_use_save;
# 2133|       if (rex_in_use)
# 2134|-> 	rex = rex_save;
# 2135|   
# 2136|       return result;

Error: CPPCHECK_WARNING (CWE-909): [#def212]
vim91/src/regexp.c:2134: error[uninitStructMember]: Uninitialized struct member: rex_save.need_clear_zsubexpr
# 2132|       rex_in_use = rex_in_use_save;
# 2133|       if (rex_in_use)
# 2134|-> 	rex = rex_save;
# 2135|   
# 2136|       return result;

Error: CPPCHECK_WARNING (CWE-909): [#def213]
vim91/src/regexp.c:2134: error[uninitStructMember]: Uninitialized struct member: rex_save.nfa_alt_listid
# 2132|       rex_in_use = rex_in_use_save;
# 2133|       if (rex_in_use)
# 2134|-> 	rex = rex_save;
# 2135|   
# 2136|       return result;

Error: CPPCHECK_WARNING (CWE-909): [#def214]
vim91/src/regexp.c:2134: error[uninitStructMember]: Uninitialized struct member: rex_save.nfa_has_backref
# 2132|       rex_in_use = rex_in_use_save;
# 2133|       if (rex_in_use)
# 2134|-> 	rex = rex_save;
# 2135|   
# 2136|       return result;

Error: CPPCHECK_WARNING (CWE-909): [#def215]
vim91/src/regexp.c:2134: error[uninitStructMember]: Uninitialized struct member: rex_save.nfa_has_zend
# 2132|       rex_in_use = rex_in_use_save;
# 2133|       if (rex_in_use)
# 2134|-> 	rex = rex_save;
# 2135|   
# 2136|       return result;

Error: CPPCHECK_WARNING (CWE-909): [#def216]
vim91/src/regexp.c:2134: error[uninitStructMember]: Uninitialized struct member: rex_save.nfa_has_zsubexpr
# 2132|       rex_in_use = rex_in_use_save;
# 2133|       if (rex_in_use)
# 2134|-> 	rex = rex_save;
# 2135|   
# 2136|       return result;

Error: CPPCHECK_WARNING (CWE-909): [#def217]
vim91/src/regexp.c:2134: error[uninitStructMember]: Uninitialized struct member: rex_save.nfa_listid
# 2132|       rex_in_use = rex_in_use_save;
# 2133|       if (rex_in_use)
# 2134|-> 	rex = rex_save;
# 2135|   
# 2136|       return result;

Error: CPPCHECK_WARNING (CWE-909): [#def218]
vim91/src/regexp.c:2134: error[uninitStructMember]: Uninitialized struct member: rex_save.nfa_nsubexpr
# 2132|       rex_in_use = rex_in_use_save;
# 2133|       if (rex_in_use)
# 2134|-> 	rex = rex_save;
# 2135|   
# 2136|       return result;

Error: CPPCHECK_WARNING (CWE-909): [#def219]
vim91/src/regexp.c:2134: error[uninitStructMember]: Uninitialized struct member: rex_save.reg_buf
# 2132|       rex_in_use = rex_in_use_save;
# 2133|       if (rex_in_use)
# 2134|-> 	rex = rex_save;
# 2135|   
# 2136|       return result;

Error: CPPCHECK_WARNING (CWE-909): [#def220]
vim91/src/regexp.c:2134: error[uninitStructMember]: Uninitialized struct member: rex_save.reg_endp
# 2132|       rex_in_use = rex_in_use_save;
# 2133|       if (rex_in_use)
# 2134|-> 	rex = rex_save;
# 2135|   
# 2136|       return result;

Error: CPPCHECK_WARNING (CWE-909): [#def221]
vim91/src/regexp.c:2134: error[uninitStructMember]: Uninitialized struct member: rex_save.reg_endpos
# 2132|       rex_in_use = rex_in_use_save;
# 2133|       if (rex_in_use)
# 2134|-> 	rex = rex_save;
# 2135|   
# 2136|       return result;

Error: CPPCHECK_WARNING (CWE-909): [#def222]
vim91/src/regexp.c:2134: error[uninitStructMember]: Uninitialized struct member: rex_save.reg_firstlnum
# 2132|       rex_in_use = rex_in_use_save;
# 2133|       if (rex_in_use)
# 2134|-> 	rex = rex_save;
# 2135|   
# 2136|       return result;

Error: CPPCHECK_WARNING (CWE-909): [#def223]
vim91/src/regexp.c:2134: error[uninitStructMember]: Uninitialized struct member: rex_save.reg_ic
# 2132|       rex_in_use = rex_in_use_save;
# 2133|       if (rex_in_use)
# 2134|-> 	rex = rex_save;
# 2135|   
# 2136|       return result;

Error: CPPCHECK_WARNING (CWE-909): [#def224]
vim91/src/regexp.c:2134: error[uninitStructMember]: Uninitialized struct member: rex_save.reg_icombine
# 2132|       rex_in_use = rex_in_use_save;
# 2133|       if (rex_in_use)
# 2134|-> 	rex = rex_save;
# 2135|   
# 2136|       return result;

Error: CPPCHECK_WARNING (CWE-909): [#def225]
vim91/src/regexp.c:2134: error[uninitStructMember]: Uninitialized struct member: rex_save.reg_line_lbr
# 2132|       rex_in_use = rex_in_use_save;
# 2133|       if (rex_in_use)
# 2134|-> 	rex = rex_save;
# 2135|   
# 2136|       return result;

Error: CPPCHECK_WARNING (CWE-909): [#def226]
vim91/src/regexp.c:2134: error[uninitStructMember]: Uninitialized struct member: rex_save.reg_match
# 2132|       rex_in_use = rex_in_use_save;
# 2133|       if (rex_in_use)
# 2134|-> 	rex = rex_save;
# 2135|   
# 2136|       return result;

Error: CPPCHECK_WARNING (CWE-909): [#def227]
vim91/src/regexp.c:2134: error[uninitStructMember]: Uninitialized struct member: rex_save.reg_maxcol
# 2132|       rex_in_use = rex_in_use_save;
# 2133|       if (rex_in_use)
# 2134|-> 	rex = rex_save;
# 2135|   
# 2136|       return result;

Error: CPPCHECK_WARNING (CWE-909): [#def228]
vim91/src/regexp.c:2134: error[uninitStructMember]: Uninitialized struct member: rex_save.reg_maxline
# 2132|       rex_in_use = rex_in_use_save;
# 2133|       if (rex_in_use)
# 2134|-> 	rex = rex_save;
# 2135|   
# 2136|       return result;

Error: CPPCHECK_WARNING (CWE-909): [#def229]
vim91/src/regexp.c:2134: error[uninitStructMember]: Uninitialized struct member: rex_save.reg_mmatch
# 2132|       rex_in_use = rex_in_use_save;
# 2133|       if (rex_in_use)
# 2134|-> 	rex = rex_save;
# 2135|   
# 2136|       return result;

Error: CPPCHECK_WARNING (CWE-909): [#def230]
vim91/src/regexp.c:2134: error[uninitStructMember]: Uninitialized struct member: rex_save.reg_startp
# 2132|       rex_in_use = rex_in_use_save;
# 2133|       if (rex_in_use)
# 2134|-> 	rex = rex_save;
# 2135|   
# 2136|       return result;

Error: CPPCHECK_WARNING (CWE-909): [#def231]
vim91/src/regexp.c:2134: error[uninitStructMember]: Uninitialized struct member: rex_save.reg_startpos
# 2132|       rex_in_use = rex_in_use_save;
# 2133|       if (rex_in_use)
# 2134|-> 	rex = rex_save;
# 2135|   
# 2136|       return result;

Error: CPPCHECK_WARNING (CWE-909): [#def232]
vim91/src/regexp.c:2134: error[uninitStructMember]: Uninitialized struct member: rex_save.reg_win
# 2132|       rex_in_use = rex_in_use_save;
# 2133|       if (rex_in_use)
# 2134|-> 	rex = rex_save;
# 2135|   
# 2136|       return result;

Error: CPPCHECK_WARNING (CWE-909): [#def233]
vim91/src/regexp.c:3127: error[uninitStructMember]: Uninitialized struct member: rex_save.input
# 3125|       rex_in_use = rex_in_use_save;
# 3126|       if (rex_in_use)
# 3127|-> 	rex = rex_save;
# 3128|   
# 3129|       return result > 0;

Error: CPPCHECK_WARNING (CWE-909): [#def234]
vim91/src/regexp.c:3127: error[uninitStructMember]: Uninitialized struct member: rex_save.line
# 3125|       rex_in_use = rex_in_use_save;
# 3126|       if (rex_in_use)
# 3127|-> 	rex = rex_save;
# 3128|   
# 3129|       return result > 0;

Error: CPPCHECK_WARNING (CWE-909): [#def235]
vim91/src/regexp.c:3127: error[uninitStructMember]: Uninitialized struct member: rex_save.lnum
# 3125|       rex_in_use = rex_in_use_save;
# 3126|       if (rex_in_use)
# 3127|-> 	rex = rex_save;
# 3128|   
# 3129|       return result > 0;

Error: CPPCHECK_WARNING (CWE-909): [#def236]
vim91/src/regexp.c:3127: error[uninitStructMember]: Uninitialized struct member: rex_save.need_clear_subexpr
# 3125|       rex_in_use = rex_in_use_save;
# 3126|       if (rex_in_use)
# 3127|-> 	rex = rex_save;
# 3128|   
# 3129|       return result > 0;

Error: CPPCHECK_WARNING (CWE-909): [#def237]
vim91/src/regexp.c:3127: error[uninitStructMember]: Uninitialized struct member: rex_save.need_clear_zsubexpr
# 3125|       rex_in_use = rex_in_use_save;
# 3126|       if (rex_in_use)
# 3127|-> 	rex = rex_save;
# 3128|   
# 3129|       return result > 0;

Error: CPPCHECK_WARNING (CWE-909): [#def238]
vim91/src/regexp.c:3127: error[uninitStructMember]: Uninitialized struct member: rex_save.nfa_alt_listid
# 3125|       rex_in_use = rex_in_use_save;
# 3126|       if (rex_in_use)
# 3127|-> 	rex = rex_save;
# 3128|   
# 3129|       return result > 0;

Error: CPPCHECK_WARNING (CWE-909): [#def239]
vim91/src/regexp.c:3127: error[uninitStructMember]: Uninitialized struct member: rex_save.nfa_has_backref
# 3125|       rex_in_use = rex_in_use_save;
# 3126|       if (rex_in_use)
# 3127|-> 	rex = rex_save;
# 3128|   
# 3129|       return result > 0;

Error: CPPCHECK_WARNING (CWE-909): [#def240]
vim91/src/regexp.c:3127: error[uninitStructMember]: Uninitialized struct member: rex_save.nfa_has_zend
# 3125|       rex_in_use = rex_in_use_save;
# 3126|       if (rex_in_use)
# 3127|-> 	rex = rex_save;
# 3128|   
# 3129|       return result > 0;

Error: CPPCHECK_WARNING (CWE-909): [#def241]
vim91/src/regexp.c:3127: error[uninitStructMember]: Uninitialized struct member: rex_save.nfa_has_zsubexpr
# 3125|       rex_in_use = rex_in_use_save;
# 3126|       if (rex_in_use)
# 3127|-> 	rex = rex_save;
# 3128|   
# 3129|       return result > 0;

Error: CPPCHECK_WARNING (CWE-909): [#def242]
vim91/src/regexp.c:3127: error[uninitStructMember]: Uninitialized struct member: rex_save.nfa_listid
# 3125|       rex_in_use = rex_in_use_save;
# 3126|       if (rex_in_use)
# 3127|-> 	rex = rex_save;
# 3128|   
# 3129|       return result > 0;

Error: CPPCHECK_WARNING (CWE-909): [#def243]
vim91/src/regexp.c:3127: error[uninitStructMember]: Uninitialized struct member: rex_save.nfa_nsubexpr
# 3125|       rex_in_use = rex_in_use_save;
# 3126|       if (rex_in_use)
# 3127|-> 	rex = rex_save;
# 3128|   
# 3129|       return result > 0;

Error: CPPCHECK_WARNING (CWE-909): [#def244]
vim91/src/regexp.c:3127: error[uninitStructMember]: Uninitialized struct member: rex_save.reg_buf
# 3125|       rex_in_use = rex_in_use_save;
# 3126|       if (rex_in_use)
# 3127|-> 	rex = rex_save;
# 3128|   
# 3129|       return result > 0;

Error: CPPCHECK_WARNING (CWE-909): [#def245]
vim91/src/regexp.c:3127: error[uninitStructMember]: Uninitialized struct member: rex_save.reg_endp
# 3125|       rex_in_use = rex_in_use_save;
# 3126|       if (rex_in_use)
# 3127|-> 	rex = rex_save;
# 3128|   
# 3129|       return result > 0;

Error: CPPCHECK_WARNING (CWE-909): [#def246]
vim91/src/regexp.c:3127: error[uninitStructMember]: Uninitialized struct member: rex_save.reg_endpos
# 3125|       rex_in_use = rex_in_use_save;
# 3126|       if (rex_in_use)
# 3127|-> 	rex = rex_save;
# 3128|   
# 3129|       return result > 0;

Error: CPPCHECK_WARNING (CWE-909): [#def247]
vim91/src/regexp.c:3127: error[uninitStructMember]: Uninitialized struct member: rex_save.reg_firstlnum
# 3125|       rex_in_use = rex_in_use_save;
# 3126|       if (rex_in_use)
# 3127|-> 	rex = rex_save;
# 3128|   
# 3129|       return result > 0;

Error: CPPCHECK_WARNING (CWE-909): [#def248]
vim91/src/regexp.c:3127: error[uninitStructMember]: Uninitialized struct member: rex_save.reg_ic
# 3125|       rex_in_use = rex_in_use_save;
# 3126|       if (rex_in_use)
# 3127|-> 	rex = rex_save;
# 3128|   
# 3129|       return result > 0;

Error: CPPCHECK_WARNING (CWE-909): [#def249]
vim91/src/regexp.c:3127: error[uninitStructMember]: Uninitialized struct member: rex_save.reg_icombine
# 3125|       rex_in_use = rex_in_use_save;
# 3126|       if (rex_in_use)
# 3127|-> 	rex = rex_save;
# 3128|   
# 3129|       return result > 0;

Error: CPPCHECK_WARNING (CWE-909): [#def250]
vim91/src/regexp.c:3127: error[uninitStructMember]: Uninitialized struct member: rex_save.reg_line_lbr
# 3125|       rex_in_use = rex_in_use_save;
# 3126|       if (rex_in_use)
# 3127|-> 	rex = rex_save;
# 3128|   
# 3129|       return result > 0;

Error: CPPCHECK_WARNING (CWE-909): [#def251]
vim91/src/regexp.c:3127: error[uninitStructMember]: Uninitialized struct member: rex_save.reg_match
# 3125|       rex_in_use = rex_in_use_save;
# 3126|       if (rex_in_use)
# 3127|-> 	rex = rex_save;
# 3128|   
# 3129|       return result > 0;

Error: CPPCHECK_WARNING (CWE-909): [#def252]
vim91/src/regexp.c:3127: error[uninitStructMember]: Uninitialized struct member: rex_save.reg_maxcol
# 3125|       rex_in_use = rex_in_use_save;
# 3126|       if (rex_in_use)
# 3127|-> 	rex = rex_save;
# 3128|   
# 3129|       return result > 0;

Error: CPPCHECK_WARNING (CWE-909): [#def253]
vim91/src/regexp.c:3127: error[uninitStructMember]: Uninitialized struct member: rex_save.reg_maxline
# 3125|       rex_in_use = rex_in_use_save;
# 3126|       if (rex_in_use)
# 3127|-> 	rex = rex_save;
# 3128|   
# 3129|       return result > 0;

Error: CPPCHECK_WARNING (CWE-909): [#def254]
vim91/src/regexp.c:3127: error[uninitStructMember]: Uninitialized struct member: rex_save.reg_mmatch
# 3125|       rex_in_use = rex_in_use_save;
# 3126|       if (rex_in_use)
# 3127|-> 	rex = rex_save;
# 3128|   
# 3129|       return result > 0;

Error: CPPCHECK_WARNING (CWE-909): [#def255]
vim91/src/regexp.c:3127: error[uninitStructMember]: Uninitialized struct member: rex_save.reg_startp
# 3125|       rex_in_use = rex_in_use_save;
# 3126|       if (rex_in_use)
# 3127|-> 	rex = rex_save;
# 3128|   
# 3129|       return result > 0;

Error: CPPCHECK_WARNING (CWE-909): [#def256]
vim91/src/regexp.c:3127: error[uninitStructMember]: Uninitialized struct member: rex_save.reg_startpos
# 3125|       rex_in_use = rex_in_use_save;
# 3126|       if (rex_in_use)
# 3127|-> 	rex = rex_save;
# 3128|   
# 3129|       return result > 0;

Error: CPPCHECK_WARNING (CWE-909): [#def257]
vim91/src/regexp.c:3127: error[uninitStructMember]: Uninitialized struct member: rex_save.reg_win
# 3125|       rex_in_use = rex_in_use_save;
# 3126|       if (rex_in_use)
# 3127|-> 	rex = rex_save;
# 3128|   
# 3129|       return result > 0;

Error: CPPCHECK_WARNING (CWE-909): [#def258]
vim91/src/regexp.c:3262: error[uninitStructMember]: Uninitialized struct member: rex_save.input
# 3260|       rex_in_use = rex_in_use_save;
# 3261|       if (rex_in_use)
# 3262|-> 	rex = rex_save;
# 3263|   
# 3264|       return result <= 0 ? 0 : result;

Error: CPPCHECK_WARNING (CWE-909): [#def259]
vim91/src/regexp.c:3262: error[uninitStructMember]: Uninitialized struct member: rex_save.line
# 3260|       rex_in_use = rex_in_use_save;
# 3261|       if (rex_in_use)
# 3262|-> 	rex = rex_save;
# 3263|   
# 3264|       return result <= 0 ? 0 : result;

Error: CPPCHECK_WARNING (CWE-909): [#def260]
vim91/src/regexp.c:3262: error[uninitStructMember]: Uninitialized struct member: rex_save.lnum
# 3260|       rex_in_use = rex_in_use_save;
# 3261|       if (rex_in_use)
# 3262|-> 	rex = rex_save;
# 3263|   
# 3264|       return result <= 0 ? 0 : result;

Error: CPPCHECK_WARNING (CWE-909): [#def261]
vim91/src/regexp.c:3262: error[uninitStructMember]: Uninitialized struct member: rex_save.need_clear_subexpr
# 3260|       rex_in_use = rex_in_use_save;
# 3261|       if (rex_in_use)
# 3262|-> 	rex = rex_save;
# 3263|   
# 3264|       return result <= 0 ? 0 : result;

Error: CPPCHECK_WARNING (CWE-909): [#def262]
vim91/src/regexp.c:3262: error[uninitStructMember]: Uninitialized struct member: rex_save.need_clear_zsubexpr
# 3260|       rex_in_use = rex_in_use_save;
# 3261|       if (rex_in_use)
# 3262|-> 	rex = rex_save;
# 3263|   
# 3264|       return result <= 0 ? 0 : result;

Error: CPPCHECK_WARNING (CWE-909): [#def263]
vim91/src/regexp.c:3262: error[uninitStructMember]: Uninitialized struct member: rex_save.nfa_alt_listid
# 3260|       rex_in_use = rex_in_use_save;
# 3261|       if (rex_in_use)
# 3262|-> 	rex = rex_save;
# 3263|   
# 3264|       return result <= 0 ? 0 : result;

Error: CPPCHECK_WARNING (CWE-909): [#def264]
vim91/src/regexp.c:3262: error[uninitStructMember]: Uninitialized struct member: rex_save.nfa_has_backref
# 3260|       rex_in_use = rex_in_use_save;
# 3261|       if (rex_in_use)
# 3262|-> 	rex = rex_save;
# 3263|   
# 3264|       return result <= 0 ? 0 : result;

Error: CPPCHECK_WARNING (CWE-909): [#def265]
vim91/src/regexp.c:3262: error[uninitStructMember]: Uninitialized struct member: rex_save.nfa_has_zend
# 3260|       rex_in_use = rex_in_use_save;
# 3261|       if (rex_in_use)
# 3262|-> 	rex = rex_save;
# 3263|   
# 3264|       return result <= 0 ? 0 : result;

Error: CPPCHECK_WARNING (CWE-909): [#def266]
vim91/src/regexp.c:3262: error[uninitStructMember]: Uninitialized struct member: rex_save.nfa_has_zsubexpr
# 3260|       rex_in_use = rex_in_use_save;
# 3261|       if (rex_in_use)
# 3262|-> 	rex = rex_save;
# 3263|   
# 3264|       return result <= 0 ? 0 : result;

Error: CPPCHECK_WARNING (CWE-909): [#def267]
vim91/src/regexp.c:3262: error[uninitStructMember]: Uninitialized struct member: rex_save.nfa_listid
# 3260|       rex_in_use = rex_in_use_save;
# 3261|       if (rex_in_use)
# 3262|-> 	rex = rex_save;
# 3263|   
# 3264|       return result <= 0 ? 0 : result;

Error: CPPCHECK_WARNING (CWE-909): [#def268]
vim91/src/regexp.c:3262: error[uninitStructMember]: Uninitialized struct member: rex_save.nfa_nsubexpr
# 3260|       rex_in_use = rex_in_use_save;
# 3261|       if (rex_in_use)
# 3262|-> 	rex = rex_save;
# 3263|   
# 3264|       return result <= 0 ? 0 : result;

Error: CPPCHECK_WARNING (CWE-909): [#def269]
vim91/src/regexp.c:3262: error[uninitStructMember]: Uninitialized struct member: rex_save.reg_buf
# 3260|       rex_in_use = rex_in_use_save;
# 3261|       if (rex_in_use)
# 3262|-> 	rex = rex_save;
# 3263|   
# 3264|       return result <= 0 ? 0 : result;

Error: CPPCHECK_WARNING (CWE-909): [#def270]
vim91/src/regexp.c:3262: error[uninitStructMember]: Uninitialized struct member: rex_save.reg_endp
# 3260|       rex_in_use = rex_in_use_save;
# 3261|       if (rex_in_use)
# 3262|-> 	rex = rex_save;
# 3263|   
# 3264|       return result <= 0 ? 0 : result;

Error: CPPCHECK_WARNING (CWE-909): [#def271]
vim91/src/regexp.c:3262: error[uninitStructMember]: Uninitialized struct member: rex_save.reg_endpos
# 3260|       rex_in_use = rex_in_use_save;
# 3261|       if (rex_in_use)
# 3262|-> 	rex = rex_save;
# 3263|   
# 3264|       return result <= 0 ? 0 : result;

Error: CPPCHECK_WARNING (CWE-909): [#def272]
vim91/src/regexp.c:3262: error[uninitStructMember]: Uninitialized struct member: rex_save.reg_firstlnum
# 3260|       rex_in_use = rex_in_use_save;
# 3261|       if (rex_in_use)
# 3262|-> 	rex = rex_save;
# 3263|   
# 3264|       return result <= 0 ? 0 : result;

Error: CPPCHECK_WARNING (CWE-909): [#def273]
vim91/src/regexp.c:3262: error[uninitStructMember]: Uninitialized struct member: rex_save.reg_ic
# 3260|       rex_in_use = rex_in_use_save;
# 3261|       if (rex_in_use)
# 3262|-> 	rex = rex_save;
# 3263|   
# 3264|       return result <= 0 ? 0 : result;

Error: CPPCHECK_WARNING (CWE-909): [#def274]
vim91/src/regexp.c:3262: error[uninitStructMember]: Uninitialized struct member: rex_save.reg_icombine
# 3260|       rex_in_use = rex_in_use_save;
# 3261|       if (rex_in_use)
# 3262|-> 	rex = rex_save;
# 3263|   
# 3264|       return result <= 0 ? 0 : result;

Error: CPPCHECK_WARNING (CWE-909): [#def275]
vim91/src/regexp.c:3262: error[uninitStructMember]: Uninitialized struct member: rex_save.reg_line_lbr
# 3260|       rex_in_use = rex_in_use_save;
# 3261|       if (rex_in_use)
# 3262|-> 	rex = rex_save;
# 3263|   
# 3264|       return result <= 0 ? 0 : result;

Error: CPPCHECK_WARNING (CWE-909): [#def276]
vim91/src/regexp.c:3262: error[uninitStructMember]: Uninitialized struct member: rex_save.reg_match
# 3260|       rex_in_use = rex_in_use_save;
# 3261|       if (rex_in_use)
# 3262|-> 	rex = rex_save;
# 3263|   
# 3264|       return result <= 0 ? 0 : result;

Error: CPPCHECK_WARNING (CWE-909): [#def277]
vim91/src/regexp.c:3262: error[uninitStructMember]: Uninitialized struct member: rex_save.reg_maxcol
# 3260|       rex_in_use = rex_in_use_save;
# 3261|       if (rex_in_use)
# 3262|-> 	rex = rex_save;
# 3263|   
# 3264|       return result <= 0 ? 0 : result;

Error: CPPCHECK_WARNING (CWE-909): [#def278]
vim91/src/regexp.c:3262: error[uninitStructMember]: Uninitialized struct member: rex_save.reg_maxline
# 3260|       rex_in_use = rex_in_use_save;
# 3261|       if (rex_in_use)
# 3262|-> 	rex = rex_save;
# 3263|   
# 3264|       return result <= 0 ? 0 : result;

Error: CPPCHECK_WARNING (CWE-909): [#def279]
vim91/src/regexp.c:3262: error[uninitStructMember]: Uninitialized struct member: rex_save.reg_mmatch
# 3260|       rex_in_use = rex_in_use_save;
# 3261|       if (rex_in_use)
# 3262|-> 	rex = rex_save;
# 3263|   
# 3264|       return result <= 0 ? 0 : result;

Error: CPPCHECK_WARNING (CWE-909): [#def280]
vim91/src/regexp.c:3262: error[uninitStructMember]: Uninitialized struct member: rex_save.reg_startp
# 3260|       rex_in_use = rex_in_use_save;
# 3261|       if (rex_in_use)
# 3262|-> 	rex = rex_save;
# 3263|   
# 3264|       return result <= 0 ? 0 : result;

Error: CPPCHECK_WARNING (CWE-909): [#def281]
vim91/src/regexp.c:3262: error[uninitStructMember]: Uninitialized struct member: rex_save.reg_startpos
# 3260|       rex_in_use = rex_in_use_save;
# 3261|       if (rex_in_use)
# 3262|-> 	rex = rex_save;
# 3263|   
# 3264|       return result <= 0 ? 0 : result;

Error: CPPCHECK_WARNING (CWE-909): [#def282]
vim91/src/regexp.c:3262: error[uninitStructMember]: Uninitialized struct member: rex_save.reg_win
# 3260|       rex_in_use = rex_in_use_save;
# 3261|       if (rex_in_use)
# 3262|-> 	rex = rex_save;
# 3263|   
# 3264|       return result <= 0 ? 0 : result;

Error: COMPILER_WARNING: [#def283]
vim91/src/register.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: COMPILER_WARNING: [#def284]
vim91/src/screen.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: COMPILER_WARNING: [#def285]
vim91/src/scriptfile.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: GCC_ANALYZER_WARNING (CWE-476): [#def286]
vim91/src/scriptfile.c:1532:10: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘eap’
vim91/src/scriptfile.c:2029:1: enter_function: entry to ‘do_source’
vim91/src/scriptfile.c:2035:12: call_function: calling ‘do_source_ext’ from ‘do_source’
# 1530|   
# 1531|       // Copy the lines from the buffer into a grow array
# 1532|->     for (curr_lnum = eap->line1; curr_lnum <= eap->line2; curr_lnum++)
# 1533|       {
# 1534|   	line = vim_strsave(ml_get(curr_lnum));

Error: COMPILER_WARNING: [#def287]
vim91/src/search.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: CPPCHECK_WARNING (CWE-457): [#def288]
vim91/src/search.c:2876: warning[uninitvar]: Uninitialized variable: vcol
# 2874|   
# 2875|       int col_visible = (curwin->w_p_wrap
# 2876|-> 	    || (vcol >= curwin->w_leftcol
# 2877|   		&& vcol < curwin->w_leftcol + curwin->w_width));
# 2878|       if (!col_visible)

Error: COMPILER_WARNING: [#def289]
vim91/src/session.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: COMPILER_WARNING: [#def290]
vim91/src/sha256.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: COMPILER_WARNING: [#def291]
vim91/src/sign.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: COMPILER_WARNING: [#def292]
vim91/src/sound.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: COMPILER_WARNING: [#def293]
vim91/src/spell.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: COMPILER_WARNING: [#def294]
vim91/src/spellfile.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: CPPCHECK_WARNING (CWE-758): [#def295]
vim91/src/spellfile.c:5945: warning[objectIndex]: The address of variable 'fname' might be accessed at non-zero index.
# 5943|       // default: fnames[0] is output file, following are input files
# 5944|       // When "fcount" is 1 there is only one file.
# 5945|->     innames = &fnames[fcount == 1 ? 0 : 1];
# 5946|       incount = fcount - 1;
# 5947|   

Error: COMPILER_WARNING: [#def296]
vim91/src/spellsuggest.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: GCC_ANALYZER_WARNING (CWE-457): [#def297]
vim91/src/spellsuggest.c:4101:17: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value ‘wbadword[<unknown>]’
vim91/src/spellsuggest.c:3206:1: enter_function: entry to ‘add_sound_suggest’
vim91/src/spellsuggest.c:3257:8: branch_false: following ‘false’ branch...
vim91/src/spellsuggest.c:3264:53: branch_false: ...to here
vim91/src/spellsuggest.c:3266:12: branch_true: following ‘true’ branch...
vim91/src/spellsuggest.c:3270:18: branch_true: ...to here
vim91/src/spellsuggest.c:3278:24: branch_true: following ‘true’ branch (when ‘wlen != 251’)...
vim91/src/spellsuggest.c:3281:16: branch_true: ...to here
vim91/src/spellsuggest.c:3312:16: branch_true: following ‘true’ branch...
vim91/src/spellsuggest.c:3319:16: branch_false: following ‘false’ branch...
vim91/src/spellsuggest.c:3322:17: branch_false: ...to here
vim91/src/spellsuggest.c:3342:16: branch_false: following ‘false’ branch...
vim91/src/spellsuggest.c:3352:21: branch_false: ...to here
vim91/src/spellsuggest.c:3352:20: branch_true: following ‘true’ branch...
vim91/src/spellsuggest.c:3353:34: branch_true: ...to here
vim91/src/spellsuggest.c:3352:21: branch_true: following ‘true’ branch...
vim91/src/spellsuggest.c:3362:22: branch_true: ...to here
vim91/src/spellsuggest.c:3379:20: branch_true: following ‘true’ branch...
vim91/src/spellsuggest.c:3380:58: branch_true: ...to here
vim91/src/spellsuggest.c:3380:34: call_function: calling ‘spell_edit_score’ from ‘add_sound_suggest’
# 4099|   	    if (has_mbyte)
# 4100|   	    {
# 4101|-> 		bc = wbadword[i - 1];
# 4102|   		gc = wgoodword[j - 1];
# 4103|   	    }

Error: COMPILER_WARNING: [#def298]
vim91/src/strings.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: GCC_ANALYZER_WARNING (CWE-404): [#def299]
vim91/src/strings.c:3156:13: warning[-Wanalyzer-va-list-leak]: missing call to ‘va_end’
vim91/src/strings.c:3223:1: enter_function: entry to ‘vim_vsnprintf_typval’
vim91/src/strings.c:3238:9: call_function: calling ‘parse_fmt_types’ from ‘vim_vsnprintf_typval’
vim91/src/strings.c:3238:9: return_function: returning to ‘vim_vsnprintf_typval’ from ‘parse_fmt_types’
vim91/src/strings.c:3238:8: branch_false: following ‘false’ branch...
vim91/src/strings.c:3241:5: branch_false: ...to here
vim91/src/strings.c:3245:12: branch_true: following ‘true’ branch...
vim91/src/strings.c:3247:12: branch_true: ...to here
vim91/src/strings.c:3247:12: branch_false: following ‘false’ branch...
vim91/src/strings.c:3310:13: branch_false: ...to here
vim91/src/strings.c:3355:16: branch_true: following ‘true’ branch...
vim91/src/strings.c:3358:29: branch_true: ...to here
vim91/src/strings.c:3379:26: call_function: calling ‘skip_to_arg’ from ‘vim_vsnprintf_typval’
# 3154|   	if (ap_types == NULL || ap_types[*arg_cur] == NULL)
# 3155|   	{
# 3156|-> 	    siemsg(e_aptypes_is_null_nr_str, *arg_cur, fmt);
# 3157|   	    return;
# 3158|   	}

Error: GCC_ANALYZER_WARNING (CWE-404): [#def300]
vim91/src/strings.c:3217:5: warning[-Wanalyzer-va-list-leak]: missing call to ‘va_end’
vim91/src/strings.c:3223:1: enter_function: entry to ‘vim_vsnprintf_typval’
vim91/src/strings.c:3238:9: call_function: calling ‘parse_fmt_types’ from ‘vim_vsnprintf_typval’
vim91/src/strings.c:3238:9: return_function: returning to ‘vim_vsnprintf_typval’ from ‘parse_fmt_types’
vim91/src/strings.c:3238:8: branch_false: following ‘false’ branch...
vim91/src/strings.c:3241:5: branch_false: ...to here
vim91/src/strings.c:3245:12: branch_true: following ‘true’ branch...
vim91/src/strings.c:3247:12: branch_true: ...to here
vim91/src/strings.c:3247:12: branch_false: following ‘false’ branch...
vim91/src/strings.c:3310:13: branch_false: ...to here
vim91/src/strings.c:3355:16: branch_true: following ‘true’ branch...
vim91/src/strings.c:3358:29: branch_true: ...to here
vim91/src/strings.c:3379:26: call_function: calling ‘skip_to_arg’ from ‘vim_vsnprintf_typval’
# 3215|       // increment the current argument index.
# 3216|       ++*arg_cur;
# 3217|->     ++*arg_idx;
# 3218|   
# 3219|       return;

Error: GCC_ANALYZER_WARNING (CWE-825): [#def301]
vim91/src/strings.c:3375:17: warning[-Wanalyzer-use-of-pointer-in-stale-stack-frame]: dereferencing pointer ‘ap’ to within stale stack frame
vim91/src/strings.c:3223:1: enter_function: entry to ‘vim_vsnprintf_typval’
vim91/src/strings.c:3238:9: call_function: calling ‘parse_fmt_types’ from ‘vim_vsnprintf_typval’
vim91/src/strings.c:3238:9: return_function: returning to ‘vim_vsnprintf_typval’ from ‘parse_fmt_types’
vim91/src/strings.c:3238:8: branch_false: following ‘false’ branch...
vim91/src/strings.c:3241:5: branch_false: ...to here
vim91/src/strings.c:3245:12: branch_true: following ‘true’ branch...
vim91/src/strings.c:3247:12: branch_true: ...to here
vim91/src/strings.c:3247:12: branch_false: following ‘false’ branch...
vim91/src/strings.c:3310:13: branch_false: ...to here
vim91/src/strings.c:3355:16: branch_true: following ‘true’ branch...
vim91/src/strings.c:3358:29: branch_true: ...to here
vim91/src/strings.c:3379:26: call_function: calling ‘skip_to_arg’ from ‘vim_vsnprintf_typval’
vim91/src/strings.c:3379:26: return_function: returning to ‘vim_vsnprintf_typval’ from ‘skip_to_arg’
vim91/src/strings.c:3375:17: danger: dereferencing pointer ‘ap’ to within stale stack frame
# 3373|   		}
# 3374|   
# 3375|-> 		j =
# 3376|   # if defined(FEAT_EVAL)
# 3377|   		    tvs != NULL ? tv_nr(tvs, &arg_idx) :

Error: COMPILER_WARNING: [#def302]
vim91/src/syntax.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: GCC_ANALYZER_WARNING (CWE-457): [#def303]
vim91/src/syntax.c:2686:9: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value ‘endpos.lnum’
vim91/src/syntax.c:6576:1: enter_function: entry to ‘syn_get_foldlevel’
vim91/src/syntax.c:6583:8: branch_true: following ‘true’ branch...
vim91/src/syntax.c:6584:17: branch_true: ...to here
vim91/src/syntax.c:6583:9: branch_true: following ‘true’ branch...
vim91/src/syntax.c:6586:17: branch_true: ...to here
vim91/src/syntax.c:6583:9: branch_true: following ‘true’ branch...
vim91/src/syntax.c:6590:9: branch_true: ...to here
vim91/src/syntax.c:6590:9: call_function: calling ‘syntax_start’ from ‘syn_get_foldlevel’
# 2684|   		   &(sip->si_flags), &end_endpos, &end_idx, sip->si_extmatch);
# 2685|   
# 2686|->     if (endpos.lnum == 0)
# 2687|       {
# 2688|   	// No end pattern matched.

Error: COMPILER_WARNING: [#def304]
vim91/src/tag.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: COMPILER_WARNING: [#def305]
vim91/src/term.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: COMPILER_WARNING: [#def306]
vim91/src/terminal.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: COMPILER_WARNING: [#def307]
vim91/src/testing.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: COMPILER_WARNING: [#def308]
vim91/src/textformat.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: GCC_ANALYZER_WARNING (CWE-476): [#def309]
vim91/src/textformat.c:522:36: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘flags’
vim91/src/textformat.c:920:1: enter_function: entry to ‘op_formatexpr’
vim91/src/textformat.c:926:9: call_function: calling ‘fex_format’ from ‘op_formatexpr’
vim91/src/textformat.c:926:9: return_function: returning to ‘op_formatexpr’ from ‘fex_format’
vim91/src/textformat.c:926:8: branch_true: following ‘true’ branch...
vim91/src/textformat.c:929:9: branch_true: ...to here
vim91/src/textformat.c:929:9: call_function: calling ‘op_format’ from ‘op_formatexpr’
#  520|   
#  521|       return (*skipwhite(ptr + *leader_len) == NUL
#  522|-> 	    || (*leader_len > 0 && *flags == COM_END)
#  523|   	    || startPS(lnum, NUL, FALSE));
#  524|   }

Error: COMPILER_WARNING: [#def310]
vim91/src/textobject.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: COMPILER_WARNING: [#def311]
vim91/src/textprop.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: COMPILER_WARNING: [#def312]
vim91/src/time.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: COMPILER_WARNING: [#def313]
vim91/src/tuple.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: COMPILER_WARNING: [#def314]
vim91/src/typval.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: COMPILER_WARNING: [#def315]
vim91/src/ui.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: GCC_ANALYZER_WARNING (CWE-1341): [#def316]
vim91/src/ui.c:993:13: warning[-Wanalyzer-fd-double-close]: double ‘close’ of file descriptor ‘0’
vim91/src/ui.c:930:8: branch_false: following ‘false’ branch...
vim91/src/ui.c:938:9: branch_false: ...to here
vim91/src/ui.c:960:19: branch_true: following ‘true’ branch (when ‘try != 100’)...
vim91/src/ui.c:962:35: branch_true: ...to here
vim91/src/ui.c:970:12: branch_false: following ‘false’ branch (when ‘len <= 0’)...
vim91/src/ui.c:977:21: branch_false: ...to here
vim91/src/ui.c:977:13: branch_false: following ‘false’ branch...
vim91/src/ui.c:983:13: branch_false: ...to here
vim91/src/ui.c:983:13: branch_true: following ‘true’ branch...
vim91/src/ui.c:983:60: branch_true: ...to here
vim91/src/ui.c:993:13: release_resource: first ‘close’ here
vim91/src/ui.c:1000:12: branch_false: following ‘false’ branch (when ‘exit_on_error != 0’)...
vim91/src/ui.c:960:30: branch_false: ...to here
vim91/src/ui.c:960:19: branch_true: following ‘true’ branch (when ‘try != 100’)...
vim91/src/ui.c:962:35: branch_true: ...to here
vim91/src/ui.c:970:12: branch_false: following ‘false’ branch (when ‘len <= 0’)...
vim91/src/ui.c:977:21: branch_false: ...to here
vim91/src/ui.c:977:13: branch_false: following ‘false’ branch...
vim91/src/ui.c:983:13: branch_false: ...to here
vim91/src/ui.c:983:12: branch_true: following ‘true’ branch...
vim91/src/ui.c:983:37: branch_true: ...to here
vim91/src/ui.c:983:13: branch_true: following ‘true’ branch...
vim91/src/ui.c:983:60: branch_true: ...to here
vim91/src/ui.c:993:13: danger: second ‘close’ here; first ‘close’ was at [(12)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/11)
#  991|   #ifdef HAVE_DUP
#  992|   	    // Use stderr for stdin, also works for shell commands.
#  993|-> 	    close(0);
#  994|   	    vim_ignored = dup(2);
#  995|   #else

Error: COMPILER_WARNING: [#def317]
vim91/src/undo.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: COMPILER_WARNING: [#def318]
vim91/src/usercmd.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: COMPILER_WARNING: [#def319]
vim91/src/userfunc.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: CPPCHECK_WARNING (CWE-476): [#def320]
vim91/src/userfunc.c:534: error[ctunullpointer]: Null pointer dereference: argtypes
#  532|   
#  533|       ga_init2(&fp->uf_type_list, sizeof(type_T *), 10);
#  534|->     if (argtypes->ga_len > 0)
#  535|       {
#  536|   	// When "varargs" is set the last name/type goes into uf_va_name

Error: CPPCHECK_WARNING (CWE-457): [#def321]
vim91/src/userfunc.c:3176: error[legacyUninitvar]: Uninitialized variable: def_rettv
# 3174|   	// Note: the values are copied directly to avoid alloc/free.
# 3175|   	// "argvars" must have VAR_FIXED for v_lock.
# 3176|-> 	v->di_tv = isdefault ? def_rettv : argvars[i];
# 3177|   	v->di_tv.v_lock = VAR_FIXED;
# 3178|   

Error: CPPCHECK_WARNING (CWE-562): [#def322]
vim91/src/userfunc.c:3982: error[autoVariables]: Address of local auto-variable assigned to a function parameter.
# 3980|   		// make a copy of the type with the correction.
# 3981|   		check_type = *funcexe->fe_check_type;
# 3982|-> 		funcexe->fe_check_type = &check_type;
# 3983|   		check_type.tt_args = check_type_args;
# 3984|   		CLEAR_FIELD(check_type_args);

Error: COMPILER_WARNING: [#def323]
vim91/src/version.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: COMPILER_WARNING: [#def324]
vim91/src/vim9class.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: COMPILER_WARNING: [#def325]
vim91/src/vim9cmds.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: COMPILER_WARNING: [#def326]
vim91/src/vim9compile.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: COMPILER_WARNING: [#def327]
vim91/src/vim9execute.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: CPPCHECK_WARNING (CWE-562): [#def328]
vim91/src/vim9execute.c:6807: error[autoVariables]: Address of local auto-variable assigned to a function parameter.
# 6805|       // Store the execution context in funccal, used by invoke_all_defer().
# 6806|       if (funccal != NULL)
# 6807|-> 	funccal->fc_ectx = &ectx;
# 6808|   
# 6809|       // Following errors are in the function, not the caller.

Error: COMPILER_WARNING: [#def329]
vim91/src/vim9expr.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: COMPILER_WARNING: [#def330]
vim91/src/vim9instr.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: CPPCHECK_WARNING (CWE-476): [#def331]
vim91/src/vim9instr.c:508: warning[nullPointer]: Possible null pointer dereference: type1
#  506|   {
#  507|       isntype_T	isntype = ISN_DROP;
#  508|->     vartype_T	vartype1 = tv1 != NULL ? tv1->v_type : type1->tt_type;
#  509|       vartype_T	vartype2 = tv2 != NULL ? tv2->v_type : type2->tt_type;
#  510|   

Error: CPPCHECK_WARNING (CWE-476): [#def332]
vim91/src/vim9instr.c:509: warning[nullPointer]: Possible null pointer dereference: type2
#  507|       isntype_T	isntype = ISN_DROP;
#  508|       vartype_T	vartype1 = tv1 != NULL ? tv1->v_type : type1->tt_type;
#  509|->     vartype_T	vartype2 = tv2 != NULL ? tv2->v_type : type2->tt_type;
#  510|   
#  511|       if (vartype1 == VAR_CLASS || vartype1 == VAR_TYPEALIAS)

Error: COMPILER_WARNING: [#def333]
vim91/src/vim9script.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: COMPILER_WARNING: [#def334]
vim91/src/vim9type.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: COMPILER_WARNING: [#def335]
vim91/src/viminfo.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: COMPILER_WARNING: [#def336]
vim91/src/window.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: COMPILER_WARNING: [#def337]
vim91/src/xdiff/xdiffi.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: COMPILER_WARNING: [#def338]
vim91/src/xdiff/xemit.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: COMPILER_WARNING: [#def339]
vim91/src/xdiff/xhistogram.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: COMPILER_WARNING: [#def340]
vim91/src/xdiff/xpatience.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: COMPILER_WARNING: [#def341]
vim91/src/xdiff/xprepare.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: COMPILER_WARNING: [#def342]
vim91/src/xdiff/xutils.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: COMPILER_WARNING: [#def343]
vim91/src/xxd/xxd.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Scan Properties

analyzer-version-clippy1.86.0
analyzer-version-cppcheck2.17.1
analyzer-version-gcc15.0.1
analyzer-version-gcc-analyzer15.0.1
analyzer-version-shellcheck0.10.0
analyzer-version-unicontrol0.0.2
enabled-pluginsclippy, cppcheck, gcc, shellcheck, unicontrol
exit-code0
hostip-172-16-1-38.us-west-2.compute.internal
known-false-positives/usr/share/csmock/known-false-positives.js
known-false-positives-rpmknown-false-positives-0.0.0.20250425.124705.g1c7c448.main-1.el9.noarch
mock-configfedora-rawhide-x86_64
project-namevim-9.1.1291-1.fc43
store-results-to/tmp/tmpfa13mhjw/vim-9.1.1291-1.fc43.tar.xz
time-created2025-04-25 16:09:34
time-finished2025-04-25 16:25:42
toolcsmock
tool-args'/usr/bin/csmock' '-r' 'fedora-rawhide-x86_64' '-t' 'unicontrol,cppcheck,gcc,clippy,shellcheck' '-o' '/tmp/tmpfa13mhjw/vim-9.1.1291-1.fc43.tar.xz' '--gcc-analyze' '--unicontrol-notests' '--unicontrol-bidi-only' '--install' 'pam' '--gcc-analyzer-bin=/usr/bin/gcc' '/tmp/tmpfa13mhjw/vim-9.1.1291-1.fc43.src.rpm'
tool-versioncsmock-3.8.1.20250422.172604.g26bc3d6-1.el9