Task #78810 - vim-9.1.1818-1.fc43/scan-results.err

back to task #78810
download
Error: SHELLCHECK_WARNING (CWE-758):
/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):
/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:
vim91/src/alloc.c: warning: -D_FORTIFY_SOURCE defined but value is too low

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

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

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

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

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

Error: COMPILER_WARNING:
vim91/src/auto/wayland/ext-data-control-v1.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: COMPILER_WARNING:
vim91/src/auto/wayland/primary-selection-unstable-v1.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: COMPILER_WARNING:
vim91/src/auto/wayland/wlr-data-control-unstable-v1.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: COMPILER_WARNING:
vim91/src/auto/wayland/xdg-shell.c: warning: -D_FORTIFY_SOURCE defined but value is too low

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

Error: GCC_ANALYZER_WARNING (CWE-476):
vim91/src/autocmd.c:1182:9: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘pat’
vim91/src/autocmd.c:3333:1: enter_function: entry to ‘f_autocmd_delete’
vim91/src/autocmd.c:3335:5: call_function: calling ‘autocmd_add_or_delete’ from ‘f_autocmd_delete’
# 1180|        * Show or delete all patterns for an event.
# 1181|        */
# 1182|->     if (*pat == NUL)
# 1183|       {
# 1184|   	FOR_ALL_AUTOCMD_PATTERNS(event, ap)

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

Error: GCC_ANALYZER_WARNING (CWE-476):
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:
vim91/src/blob.c: warning: -D_FORTIFY_SOURCE defined but value is too low

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

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

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

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

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

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/channel.c:636:17: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘sd’
vim91/src/channel.c:5188:1: enter_function: entry to ‘f_ch_open’
vim91/src/channel.c:5191:8: branch_false: following ‘false’ branch...
vim91/src/channel.c:5193:29: call_function: calling ‘channel_open_func’ from ‘f_ch_open’
#  634|   		ioctlsocket(sd, FIONBIO, &val) < 0
#  635|   #else
#  636|-> 		fcntl(sd, F_SETFL, O_NONBLOCK) < 0
#  637|   #endif
#  638|   	       )

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/channel.c:649:9: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘sd’
vim91/src/channel.c:5188:1: enter_function: entry to ‘f_ch_open’
vim91/src/channel.c:5191:8: branch_false: following ‘false’ branch...
vim91/src/channel.c:5193:29: call_function: calling ‘channel_open_func’ from ‘f_ch_open’
#  647|   
#  648|   	// Try connecting to the server.
#  649|-> 	ch_log(channel, "Connecting...");
#  650|   
#  651|   	ret = connect(sd, server_addr, server_addrlen);

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/channel.c:651:15: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘sd’
vim91/src/channel.c:5188:1: enter_function: entry to ‘f_ch_open’
vim91/src/channel.c:5191:8: branch_false: following ‘false’ branch...
vim91/src/channel.c:5193:29: call_function: calling ‘channel_open_func’ from ‘f_ch_open’
#  649|   	ch_log(channel, "Connecting...");
#  650|   
#  651|-> 	ret = connect(sd, server_addr, server_addrlen);
#  652|   	if (ret == 0)
#  653|   	    // The connection could be established.

Error: GCC_ANALYZER_WARNING (CWE-688):
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:
vim91/src/charset.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: CPPCHECK_WARNING (CWE-457):
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:
vim91/src/cindent.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: CPPCHECK_WARNING (CWE-909):
vim91/src/cindent.c:2529: error[uninitStructMember]: Uninitialized struct member: our_paren_pos.lnum
# 2527|   	    }
# 2528|   
# 2529|-> 	    amount = skip_label(our_paren_pos.lnum, &look);
# 2530|   	    look = skipwhite(look);
# 2531|   	    if (*look == '(')

Error: CPPCHECK_WARNING (CWE-909):
vim91/src/cindent.c:2597: error[uninitStructMember]: Uninitialized struct member: our_paren_pos.col
# 2595|   		    else
# 2596|   		    {
# 2597|-> 			col = our_paren_pos.col + 1;
# 2598|   			while (VIM_ISWHITE(l[col]))
# 2599|   			    col++;

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

Error: GCC_ANALYZER_WARNING (CWE-457):
vim91/src/clientserver.c:958:17: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value ‘w’
vim91/src/clientserver.c:885:8: branch_false: following ‘false’ branch...
vim91/src/clientserver.c:889:8: branch_false: following ‘false’ branch...
vim91/src/clientserver.c:892:9: branch_false: ...to here
vim91/src/clientserver.c:897:8: branch_false: following ‘false’ branch...
vim91/src/clientserver.c:899:12: branch_false: ...to here
vim91/src/clientserver.c:904:8: branch_false: following ‘false’ branch...
vim91/src/clientserver.c:910:9: branch_false: ...to here
vim91/src/clientserver.c:910:8: branch_false: following ‘false’ branch...
vim91/src/clientserver.c:936:5: branch_false: ...to here
vim91/src/clientserver.c:938:8: branch_true: following ‘true’ branch...
vim91/src/clientserver.c:949:17: branch_true: ...to here
vim91/src/clientserver.c:950:12: branch_true: following ‘true’ branch...
vim91/src/clientserver.c:957:16: branch_true: following ‘true’ branch...
vim91/src/clientserver.c:958:17: branch_true: ...to here
vim91/src/clientserver.c:958:17: danger: use of uninitialized value ‘w’ here
#  956|   #ifdef FEAT_X11
#  957|   	    if (clientserver_method == CLIENTSERVER_METHOD_X11)
#  958|-> 		sprintf((char *)str, PRINTF_HEX_LONG_U, (long_u)w);
#  959|   #endif
#  960|   #ifdef FEAT_SOCKETSERVER

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

Error: GCC_ANALYZER_WARNING (CWE-476):
vim91/src/clipboard.c:334:13: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘cbd’
vim91/src/clipboard.c:3299:1: enter_function: entry to ‘vwl_data_source_listener_event_cancelled’
vim91/src/clipboard.c:3304:32: call_function: inlined call to ‘clip_wl_get_cbd_from_selection’ from ‘vwl_data_source_listener_event_cancelled’
vim91/src/clipboard.c:3306:5: call_function: calling ‘clip_lose_selection’ from ‘vwl_data_source_listener_event_cancelled’
#  332|   {
#  333|   #ifdef FEAT_X11
#  334|->     int	    was_owned = cbd->owned;
#  335|   #endif
#  336|       int     visual_selection = FALSE;

Error: GCC_ANALYZER_WARNING (CWE-476):
vim91/src/clipboard.c:2223:9: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘cbd’
vim91/src/clipboard.c:3209:1: enter_function: entry to ‘vwl_data_source_listener_event_send’
vim91/src/clipboard.c:3217:32: call_function: inlined call to ‘clip_wl_get_cbd_from_selection’ from ‘vwl_data_source_listener_event_send’
vim91/src/clipboard.c:3235:5: branch_true: following ‘true’ branch (when ‘__i != 16’)...
vim91/src/clipboard.c:3235:5: branch_true: ...to here
vim91/src/clipboard.c:3240:21: branch_true: following ‘true’ branch (when ‘i != 7’)...
vim91/src/clipboard.c:3241:13: branch_true: ...to here
vim91/src/clipboard.c:3247:8: branch_true: following ‘true’ branch (when ‘have_mime != 0’)...
vim91/src/clipboard.c:3254:17: branch_true: ...to here
vim91/src/clipboard.c:3257:8: branch_true: following ‘true’ branch (when the strings are equal)...
vim91/src/clipboard.c:3258:23: branch_true: ...to here
vim91/src/clipboard.c:3262:5: call_function: calling ‘clip_get_selection’ from ‘vwl_data_source_listener_event_send’
# 2221|       cmdarg_T	ca;
# 2222|   
# 2223|->     if (cbd->owned)
# 2224|       {
# 2225|   	if ((cbd == &clip_plus

Error: GCC_ANALYZER_WARNING (CWE-476):
vim91/src/clipboard.c:2813:5: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘0’
vim91/src/clipboard.c:2804:1: enter_function: entry to ‘vwl_data_device_listener_event_selection’
vim91/src/clipboard.c:2810:32: call_function: inlined call to ‘clip_wl_get_selection’ from ‘vwl_data_device_listener_event_selection’
vim91/src/clipboard.c:2813:5: danger: dereference of NULL ‘<unknown>’
# 2811|   
# 2812|       // Destroy previous offer if any, it is now invalid
# 2813|->     vwl_data_offer_destroy(sel->offer);
# 2814|   
# 2815|       // There are two cases when sel->offer is NULL

Error: GCC_ANALYZER_WARNING (CWE-476):
vim91/src/clipboard.c:2937:16: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘0’
vim91/src/clipboard.c:2880:8: branch_false: following ‘false’ branch...
vim91/src/clipboard.c:2883:20: branch_false: ...to here
vim91/src/clipboard.c:2885:8: branch_false: following ‘false’ branch...
vim91/src/clipboard.c:2888:31: branch_false: ...to here
vim91/src/clipboard.c:2891:8: branch_true: following ‘true’ branch...
vim91/src/clipboard.c:2893:34: branch_true: ...to here
vim91/src/clipboard.c:2896:12: branch_false: following ‘false’ branch...
vim91/src/clipboard.c:2900:13: branch_false: ...to here
vim91/src/clipboard.c:2901:13: release_memory: using NULL here
vim91/src/clipboard.c:2901:13: release_memory: using NULL here
vim91/src/clipboard.c:2907:8: branch_false: following ‘false’ branch...
vim91/src/clipboard.c:2926:14: branch_false: ...to here
vim91/src/clipboard.c:2926:13: branch_false: following ‘false’ branch...
vim91/src/clipboard.c:2936:9: branch_false: ...to here
vim91/src/clipboard.c:2936:8: branch_true: following ‘true’ branch...
vim91/src/clipboard.c:2937:16: branch_true: ...to here
vim91/src/clipboard.c:2937:16: release_memory: using NULL here
vim91/src/clipboard.c:2937:16: danger: dereference of NULL ‘clip_wl.regular.manager’
# 2935|   #ifdef FEAT_WAYLAND_CLIPBOARD_FS
# 2936|       if (clip_wl.regular.available
# 2937|-> 	    && clip_wl.regular.manager->protocol == VWL_DATA_PROTOCOL_CORE
# 2938|   	    && clip_wl_focus_stealing_available())
# 2939|   	clip_wl.regular.requires_focus = true;

Error: GCC_ANALYZER_WARNING (CWE-476):
vim91/src/clipboard.c:2941:16: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘0’
vim91/src/clipboard.c:2880:8: branch_false: following ‘false’ branch...
vim91/src/clipboard.c:2883:20: branch_false: ...to here
vim91/src/clipboard.c:2885:8: branch_false: following ‘false’ branch...
vim91/src/clipboard.c:2888:31: branch_false: ...to here
vim91/src/clipboard.c:2907:8: branch_true: following ‘true’ branch...
vim91/src/clipboard.c:2909:35: branch_true: ...to here
vim91/src/clipboard.c:2912:12: branch_true: following ‘true’ branch...
vim91/src/clipboard.c:2914:38: branch_true: ...to here
vim91/src/clipboard.c:2917:16: branch_false: following ‘false’ branch...
vim91/src/clipboard.c:2921:17: branch_false: ...to here
vim91/src/clipboard.c:2922:17: release_memory: using NULL here
vim91/src/clipboard.c:2922:17: release_memory: using NULL here
vim91/src/clipboard.c:2940:8: branch_true: following ‘true’ branch...
vim91/src/clipboard.c:2941:16: branch_true: ...to here
vim91/src/clipboard.c:2941:16: release_memory: using NULL here
vim91/src/clipboard.c:2941:16: danger: dereference of NULL ‘clip_wl.primary.manager’
# 2939|   	clip_wl.regular.requires_focus = true;
# 2940|       if (clip_wl.primary.available
# 2941|-> 	    && clip_wl.primary.manager->protocol == VWL_DATA_PROTOCOL_PRIMARY
# 2942|   	    && clip_wl_focus_stealing_available())
# 2943|   	clip_wl.primary.requires_focus = true;

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/clipboard.c:3047:28: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘fds[0]’
vim91/src/clipboard.c:3145:1: enter_function: entry to ‘clip_wl_request_selection’
vim91/src/clipboard.c:3153:8: branch_true: following ‘true’ branch...
vim91/src/clipboard.c:3157:9: branch_true: ...to here
vim91/src/clipboard.c:3157:8: branch_false: following ‘false’ branch...
vim91/src/clipboard.c:3170:13: branch_false: ...to here
vim91/src/clipboard.c:3170:12: branch_false: following ‘false’ branch...
vim91/src/clipboard.c:3174:9: branch_false: ...to here
vim91/src/clipboard.c:3174:8: branch_false: following ‘false’ branch...
vim91/src/clipboard.c:3177:5: branch_false: ...to here
vim91/src/clipboard.c:3182:21: branch_true: following ‘true’ branch...
<unknown>: branch_true: ...to here
vim91/src/clipboard.c:3190:8: branch_false: following ‘false’ branch (when ‘chosen_mime’ is non-NULL)...
vim91/src/clipboard.c:3190:32: branch_false: ...to here
vim91/src/clipboard.c:3190:9: branch_false: following ‘false’ branch...
vim91/src/clipboard.c:3193:53: branch_false: ...to here
vim91/src/clipboard.c:3198:8: branch_true: following ‘true’ branch...
vim91/src/clipboard.c:3199:9: branch_true: ...to here
vim91/src/clipboard.c:3199:9: call_function: calling ‘clip_wl_receive_data’ from ‘clip_wl_request_selection’
# 3045|   
# 3046|       // Make pipe (read end) non-blocking
# 3047|->     if (fcntl(fd, F_SETFL, fcntl(fd, F_GETFL) | O_NONBLOCK) == -1)
# 3048|   	return;
# 3049|   

Error: CPPCHECK_WARNING (CWE-457):
vim91/src/clipboard.c:3062: error[uninitvar]: Uninitialized variable: tv
# 3060|       while (poll(&pfd, 1, p_wtm) > 0)
# 3061|   #else
# 3062|->     while (tv.tv_sec = p_wtm / 1000, tv.tv_usec = (p_wtm % 1000) * 1000,
# 3063|   	    select(fd + 1, &rfds, NULL, NULL, &tv) > 0)
# 3064|   #endif

Error: GCC_ANALYZER_WARNING (CWE-476):
vim91/src/clipboard.c:3153:10: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘0’
vim91/src/clipboard.c:3145:1: enter_function: entry to ‘clip_wl_request_selection’
vim91/src/clipboard.c:3147:32: call_function: inlined call to ‘clip_wl_get_selection_from_cbd’ from ‘clip_wl_request_selection’
vim91/src/clipboard.c:3153:10: danger: dereference of NULL ‘<unknown>’
# 3151|       const char		*chosen_mime = NULL;
# 3152|   
# 3153|->     if (!sel->available)
# 3154|   	goto clear;
# 3155|   

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/clipboard.c:3193:5: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘fds[0]’
vim91/src/clipboard.c:3153:8: branch_true: following ‘true’ branch...
vim91/src/clipboard.c:3157:9: branch_true: ...to here
vim91/src/clipboard.c:3157:8: branch_false: following ‘false’ branch...
vim91/src/clipboard.c:3170:13: branch_false: ...to here
vim91/src/clipboard.c:3170:12: branch_false: following ‘false’ branch...
vim91/src/clipboard.c:3174:9: branch_false: ...to here
vim91/src/clipboard.c:3174:8: branch_false: following ‘false’ branch...
vim91/src/clipboard.c:3177:5: branch_false: ...to here
vim91/src/clipboard.c:3182:21: branch_true: following ‘true’ branch...
<unknown>: branch_true: ...to here
vim91/src/clipboard.c:3190:8: branch_false: following ‘false’ branch (when ‘chosen_mime’ is non-NULL)...
vim91/src/clipboard.c:3190:32: branch_false: ...to here
vim91/src/clipboard.c:3190:9: branch_false: following ‘false’ branch...
vim91/src/clipboard.c:3193:53: branch_false: ...to here
vim91/src/clipboard.c:3193:5: danger: ‘fds[0]’ leaks here
# 3191|   	goto clear;
# 3192|   
# 3193|->     vwl_data_offer_receive(sel->offer, chosen_mime, fds[1]);
# 3194|   
# 3195|       close(fds[1]); // Close before we read data so that when the source client

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/clipboard.c:3193:5: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘fds[1]’
vim91/src/clipboard.c:3153:8: branch_true: following ‘true’ branch...
vim91/src/clipboard.c:3157:9: branch_true: ...to here
vim91/src/clipboard.c:3157:8: branch_false: following ‘false’ branch...
vim91/src/clipboard.c:3170:13: branch_false: ...to here
vim91/src/clipboard.c:3170:12: branch_false: following ‘false’ branch...
vim91/src/clipboard.c:3174:9: branch_false: ...to here
vim91/src/clipboard.c:3174:8: branch_false: following ‘false’ branch...
vim91/src/clipboard.c:3177:5: branch_false: ...to here
vim91/src/clipboard.c:3182:21: branch_true: following ‘true’ branch...
<unknown>: branch_true: ...to here
vim91/src/clipboard.c:3190:8: branch_false: following ‘false’ branch (when ‘chosen_mime’ is non-NULL)...
vim91/src/clipboard.c:3190:32: branch_false: ...to here
vim91/src/clipboard.c:3190:9: branch_false: following ‘false’ branch...
vim91/src/clipboard.c:3193:53: branch_false: ...to here
vim91/src/clipboard.c:3193:5: danger: ‘fds[1]’ leaks here
# 3191|   	goto clear;
# 3192|   
# 3193|->     vwl_data_offer_receive(sel->offer, chosen_mime, fds[1]);
# 3194|   
# 3195|       close(fds[1]); // Close before we read data so that when the source client

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/clipboard.c:3195:5: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘fds[0]’
vim91/src/clipboard.c:3153:8: branch_true: following ‘true’ branch...
vim91/src/clipboard.c:3157:9: branch_true: ...to here
vim91/src/clipboard.c:3157:8: branch_false: following ‘false’ branch...
vim91/src/clipboard.c:3170:13: branch_false: ...to here
vim91/src/clipboard.c:3170:12: branch_false: following ‘false’ branch...
vim91/src/clipboard.c:3174:9: branch_false: ...to here
vim91/src/clipboard.c:3174:8: branch_false: following ‘false’ branch...
vim91/src/clipboard.c:3177:5: branch_false: ...to here
vim91/src/clipboard.c:3182:21: branch_true: following ‘true’ branch...
<unknown>: branch_true: ...to here
vim91/src/clipboard.c:3190:8: branch_false: following ‘false’ branch (when ‘chosen_mime’ is non-NULL)...
vim91/src/clipboard.c:3190:32: branch_false: ...to here
vim91/src/clipboard.c:3190:9: branch_false: following ‘false’ branch...
vim91/src/clipboard.c:3193:53: branch_false: ...to here
vim91/src/clipboard.c:3195:5: danger: ‘fds[0]’ leaks here
# 3193|       vwl_data_offer_receive(sel->offer, chosen_mime, fds[1]);
# 3194|   
# 3195|->     close(fds[1]); // Close before we read data so that when the source client
# 3196|   		   // closes their end we receive an EOF.
# 3197|   

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/clipboard.c:3198:9: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘fds[0]’
vim91/src/clipboard.c:3153:8: branch_true: following ‘true’ branch...
vim91/src/clipboard.c:3157:9: branch_true: ...to here
vim91/src/clipboard.c:3157:8: branch_false: following ‘false’ branch...
vim91/src/clipboard.c:3170:13: branch_false: ...to here
vim91/src/clipboard.c:3170:12: branch_false: following ‘false’ branch...
vim91/src/clipboard.c:3174:9: branch_false: ...to here
vim91/src/clipboard.c:3174:8: branch_false: following ‘false’ branch...
vim91/src/clipboard.c:3177:5: branch_false: ...to here
vim91/src/clipboard.c:3182:21: branch_true: following ‘true’ branch...
<unknown>: branch_true: ...to here
vim91/src/clipboard.c:3190:8: branch_false: following ‘false’ branch (when ‘chosen_mime’ is non-NULL)...
vim91/src/clipboard.c:3190:32: branch_false: ...to here
vim91/src/clipboard.c:3190:9: branch_false: following ‘false’ branch...
vim91/src/clipboard.c:3193:53: branch_false: ...to here
vim91/src/clipboard.c:3198:9: danger: ‘fds[0]’ leaks here
# 3196|   		   // closes their end we receive an EOF.
# 3197|   
# 3198|->     if (vwl_connection_flush(wayland_ct) >= 0)
# 3199|   	clip_wl_receive_data(cbd, chosen_mime, fds[0]);
# 3200|   

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/clipboard.c:3201:5: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘fds[0]’
vim91/src/clipboard.c:3153:8: branch_true: following ‘true’ branch...
vim91/src/clipboard.c:3157:9: branch_true: ...to here
vim91/src/clipboard.c:3157:8: branch_false: following ‘false’ branch...
vim91/src/clipboard.c:3170:13: branch_false: ...to here
vim91/src/clipboard.c:3170:12: branch_false: following ‘false’ branch...
vim91/src/clipboard.c:3174:9: branch_false: ...to here
vim91/src/clipboard.c:3174:8: branch_false: following ‘false’ branch...
vim91/src/clipboard.c:3177:5: branch_false: ...to here
vim91/src/clipboard.c:3182:21: branch_true: following ‘true’ branch...
<unknown>: branch_true: ...to here
vim91/src/clipboard.c:3190:8: branch_false: following ‘false’ branch (when ‘chosen_mime’ is non-NULL)...
vim91/src/clipboard.c:3190:32: branch_false: ...to here
vim91/src/clipboard.c:3190:9: branch_false: following ‘false’ branch...
vim91/src/clipboard.c:3193:53: branch_false: ...to here
vim91/src/clipboard.c:3198:8: branch_false: following ‘false’ branch...
vim91/src/clipboard.c:3201:5: branch_false: ...to here
vim91/src/clipboard.c:3201:5: danger: ‘fds[0]’ leaks here
# 3199|   	clip_wl_receive_data(cbd, chosen_mime, fds[0]);
# 3200|   
# 3201|->     close(fds[0]);
# 3202|   
# 3203|       return;

Error: GCC_ANALYZER_WARNING (CWE-476):
vim91/src/clipboard.c:3336:10: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘0’
vim91/src/clipboard.c:3331:1: enter_function: entry to ‘clip_wl_own_selection’
vim91/src/clipboard.c:3333:32: call_function: inlined call to ‘clip_wl_get_selection_from_cbd’ from ‘clip_wl_own_selection’
vim91/src/clipboard.c:3334:36: call_function: inlined call to ‘clip_wl_get_selection_type’ from ‘clip_wl_own_selection’
vim91/src/clipboard.c:3336:10: danger: dereference of NULL ‘<unknown>’
# 3334|       wayland_selection_T sel_type = clip_wl_get_selection_type(sel);
# 3335|   
# 3336|->     if (!sel->available || vwl_connection_roundtrip(wayland_ct) == FAIL)
# 3337|   	return FAIL;
# 3338|   

Error: GCC_ANALYZER_WARNING (CWE-476):
vim91/src/clipboard.c:3403:10: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘0’
vim91/src/clipboard.c:3399:1: enter_function: entry to ‘clip_wl_lose_selection’
vim91/src/clipboard.c:3401:32: call_function: inlined call to ‘clip_wl_get_selection_from_cbd’ from ‘clip_wl_lose_selection’
vim91/src/clipboard.c:3403:10: danger: dereference of NULL ‘<unknown>’
# 3401|       clip_wl_selection_T *sel = clip_wl_get_selection_from_cbd(cbd);
# 3402|   
# 3403|->     if (!sel->available)
# 3404|   	return;
# 3405|   

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

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

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

Error: GCC_ANALYZER_WARNING (CWE-476):
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...
<unknown>: 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...
<unknown>: 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:
vim91/src/crypt.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/crypt.c:814:19: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen("/proc/sys/crypto/fips_enabled", "r")’
vim91/src/crypt.c:810:28: acquire_resource: opened here
vim91/src/crypt.c:811:8: branch_false: following ‘false’ branch...
vim91/src/crypt.c:814:19: branch_false: ...to here
vim91/src/crypt.c:814:19: danger: ‘fopen("/proc/sys/crypto/fips_enabled", "r")’ leaks here; was opened at [(1)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/0)
#  812|   	return;
#  813|   
#  814|->     int enabled = fgetc(fips_enable_fd);
#  815|   
#  816|       if ( access(SYSTEM_FIPS_FILE_LINK, F_OK) != -1 && enabled == '1')

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/crypt.c:814:19: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen("/proc/sys/crypto/fips_enabled", "r")’
vim91/src/crypt.c:810:28: acquire_memory: allocated here
vim91/src/crypt.c:811:8: branch_false: following ‘false’ branch...
vim91/src/crypt.c:814:19: branch_false: ...to here
vim91/src/crypt.c:814:19: danger: ‘fopen("/proc/sys/crypto/fips_enabled", "r")’ leaks here; was allocated at [(1)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/0)
#  812|   	return;
#  813|   
#  814|->     int enabled = fgetc(fips_enable_fd);
#  815|   
#  816|       if ( access(SYSTEM_FIPS_FILE_LINK, F_OK) != -1 && enabled == '1')

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/crypt.c:819:9: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen("/proc/sys/crypto/fips_enabled", "r")’
vim91/src/crypt.c:810:28: acquire_resource: opened here
vim91/src/crypt.c:811:8: branch_false: following ‘false’ branch...
vim91/src/crypt.c:814:19: branch_false: ...to here
vim91/src/crypt.c:816:8: branch_true: following ‘true’ branch...
vim91/src/crypt.c:819:9: danger: ‘fopen("/proc/sys/crypto/fips_enabled", "r")’ leaks here; was opened at [(1)](sarif:/runs/0/results/2/codeFlows/0/threadFlows/0/locations/0)
#  817|       {
#  818|   	msg_scroll = TRUE;
#  819|-> 	msg(_("Warning: This cryptography is not FIPS 140-2 compliant."));
#  820|       }
#  821|   

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/crypt.c:819:9: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen("/proc/sys/crypto/fips_enabled", "r")’
vim91/src/crypt.c:810:28: acquire_memory: allocated here
vim91/src/crypt.c:811:8: branch_false: following ‘false’ branch...
vim91/src/crypt.c:814:19: branch_false: ...to here
vim91/src/crypt.c:816:8: branch_true: following ‘true’ branch...
vim91/src/crypt.c:819:9: danger: ‘fopen("/proc/sys/crypto/fips_enabled", "r")’ leaks here; was allocated at [(1)](sarif:/runs/0/results/3/codeFlows/0/threadFlows/0/locations/0)
#  817|       {
#  818|   	msg_scroll = TRUE;
#  819|-> 	msg(_("Warning: This cryptography is not FIPS 140-2 compliant."));
#  820|       }
#  821|   

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

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

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

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

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

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

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

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

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

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

Error: CPPCHECK_WARNING (CWE-457):
vim91/src/eval.c:3587: warning[uninitvar]: Uninitialized variable: evalarg_used->eval_flags
# 3585|   	    evalarg_used = &local_evalarg;
# 3586|   	}
# 3587|-> 	orig_flags = evalarg_used->eval_flags;
# 3588|   	evaluate = evalarg_used->eval_flags & EVAL_EVALUATE;
# 3589|   

Error: CPPCHECK_WARNING (CWE-457):
vim91/src/eval.c:3744: warning[uninitvar]: Uninitialized variable: evalarg_used->eval_flags
# 3742|   	    evalarg_used = &local_evalarg;
# 3743|   	}
# 3744|-> 	orig_flags = evalarg_used->eval_flags;
# 3745|   	evaluate = orig_flags & EVAL_EVALUATE;
# 3746|   	if (evaluate)

Error: CPPCHECK_WARNING (CWE-457):
vim91/src/eval.c:3870: warning[uninitvar]: Uninitialized variable: evalarg_used->eval_flags
# 3868|   	    evalarg_used = &local_evalarg;
# 3869|   	}
# 3870|-> 	orig_flags = evalarg_used->eval_flags;
# 3871|   	evaluate = orig_flags & EVAL_EVALUATE;
# 3872|   	if (evaluate)

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

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

Error: GCC_ANALYZER_WARNING (CWE-457):
vim91/src/evalfunc.c:4811:9: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value ‘save_ga.ga_len’
vim91/src/evalfunc.c:4734:13: branch_false: following ‘false’ branch...
vim91/src/evalfunc.c:4743:15: branch_false: ...to here
vim91/src/evalfunc.c:4744:12: branch_false: following ‘false’ branch...
vim91/src/evalfunc.c:4748:17: branch_false: ...to here
vim91/src/evalfunc.c:4769:8: branch_false: following ‘false’ branch...
vim91/src/evalfunc.c:4771:5: branch_false: ...to here
vim91/src/evalfunc.c:4780:8: branch_true: following ‘true’ branch (when ‘cmd’ is non-NULL)...
vim91/src/evalfunc.c:4781:9: branch_true: ...to here
vim91/src/evalfunc.c:4810:8: branch_true: following ‘true’ branch (when ‘save_redir_execute != 0’)...
vim91/src/evalfunc.c:4811:9: branch_true: ...to here
vim91/src/evalfunc.c:4811:9: danger: use of uninitialized value ‘save_ga.ga_len’ here
# 4809|       redir_execute = save_redir_execute;
# 4810|       if (redir_execute)
# 4811|-> 	redir_execute_ga = save_ga;
# 4812|       redir_off = save_redir_off;
# 4813|   

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

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

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

Error: GCC_ANALYZER_WARNING (CWE-476):
vim91/src/ex_cmds.c:3127:54: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘oldwin’
vim91/src/ex_cmds.c:2794:8: branch_false: following ‘false’ branch...
vim91/src/ex_cmds.c:2798:8: branch_false: ...to here
vim91/src/ex_cmds.c:2798:8: branch_true: following ‘true’ branch (when ‘eap’ is non-NULL)...
vim91/src/ex_cmds.c:2799:9: branch_true: ...to here
vim91/src/ex_cmds.c:2802:8: branch_true: following ‘true’ branch (when ‘fnum != 0’)...
vim91/src/ex_cmds.c:2804:27: branch_true: ...to here
vim91/src/ex_cmds.c:2804:12: branch_false: following ‘false’ branch...
vim91/src/ex_cmds.c:2871:23: branch_false: ...to here
vim91/src/ex_cmds.c:2892:8: branch_true: following ‘true’ branch...
vim91/src/ex_cmds.c:2925:8: branch_true: following ‘true’ branch (when ‘other_file != 0’)...
vim91/src/ex_cmds.c:2927:35: branch_true: ...to here
vim91/src/ex_cmds.c:2937:12: branch_true: following ‘true’ branch (when ‘fnum != 0’)...
vim91/src/ex_cmds.c:2938:19: branch_true: ...to here
vim91/src/ex_cmds.c:2975:12: branch_false: following ‘false’ branch (when ‘buf’ is non-NULL)...
vim91/src/ex_cmds.c:2979:13: branch_false: ...to here
vim91/src/ex_cmds.c:2979:12: branch_false: following ‘false’ branch...
vim91/src/ex_cmds.c:2990:19: branch_false: ...to here
vim91/src/ex_cmds.c:3015:12: branch_false: following ‘false’ branch...
vim91/src/ex_cmds.c:3015:13: branch_false: ...to here
vim91/src/ex_cmds.c:3028:12: branch_true: following ‘true’ branch...
vim91/src/ex_cmds.c:3031:25: branch_true: ...to here
vim91/src/ex_cmds.c:3037:13: branch_false: following ‘false’ branch...
vim91/src/ex_cmds.c:3040:13: branch_false: ...to here
vim91/src/ex_cmds.c:3041:13: release_memory: ‘oldwin’ is NULL
vim91/src/ex_cmds.c:3041:13: release_memory: ‘oldwin’ is NULL
vim91/src/ex_cmds.c:3053:16: branch_false: following ‘false’ branch...
vim91/src/ex_cmds.c:3055:13: branch_false: ...to here
vim91/src/ex_cmds.c:3062:16: branch_false: following ‘false’ branch...
vim91/src/ex_cmds.c:3070:17: branch_false: ...to here
vim91/src/ex_cmds.c:3070:16: branch_false: following ‘false’ branch...
vim91/src/ex_cmds.c:3077:17: branch_false: ...to here
vim91/src/ex_cmds.c:3077:16: branch_false: following ‘false’ branch...
vim91/src/ex_cmds.c:3081:30: branch_false: ...to here
vim91/src/ex_cmds.c:3090:20: branch_true: following ‘true’ branch...
vim91/src/ex_cmds.c:3091:21: branch_true: ...to here
vim91/src/ex_cmds.c:3114:20: branch_false: following ‘false’ branch...
vim91/src/ex_cmds.c:3121:21: branch_false: ...to here
vim91/src/ex_cmds.c:3121:20: branch_true: following ‘true’ branch...
vim91/src/ex_cmds.c:3125:24: branch_true: ...to here
vim91/src/ex_cmds.c:3127:24: branch_true: following ‘true’ branch...
vim91/src/ex_cmds.c:3127:54: branch_true: ...to here
vim91/src/ex_cmds.c:3127:54: danger: dereference of NULL ‘oldwin’
# 3125|   		    if (did_decrement && buf_valid(was_curbuf))
# 3126|   			++was_curbuf->b_nwindows;
# 3127|-> 		    if (win_valid_any_tab(oldwin) && oldwin->w_buffer == NULL)
# 3128|   			oldwin->w_buffer = was_curbuf;
# 3129|   		    auto_buf = TRUE;

Error: GCC_ANALYZER_WARNING (CWE-476):
vim91/src/ex_cmds.c:4349:9: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘sub’
vim91/src/ex_cmds.c:4134:13: branch_false: following ‘false’ branch...
vim91/src/ex_cmds.c:4200:9: branch_false: ...to here
vim91/src/ex_cmds.c:4274:8: branch_true: following ‘true’ branch...
vim91/src/ex_cmds.c:4276:13: branch_true: ...to here
vim91/src/ex_cmds.c:4283:17: branch_false: following ‘false’ branch...
vim91/src/ex_cmds.c:4291:22: branch_false: ...to here
vim91/src/ex_cmds.c:4312:8: branch_false: following ‘false’ branch...
vim91/src/ex_cmds.c:4318:10: branch_false: ...to here
vim91/src/ex_cmds.c:4318:9: branch_false: following ‘false’ branch...
vim91/src/ex_cmds.c:4326:9: branch_false: ...to here
vim91/src/ex_cmds.c:4326:8: branch_false: following ‘false’ branch...
vim91/src/ex_cmds.c:4335:9: branch_false: ...to here
vim91/src/ex_cmds.c:4349:9: danger: dereference of NULL ‘sub’
# 4347|        * again.
# 4348|        */
# 4349|->     if (sub[0] == '\\' && sub[1] == '=')
# 4350|       {
# 4351|   	p = vim_strsave(sub);

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

Error: GCC_ANALYZER_WARNING (CWE-476):
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: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/ex_cmds2.c:883:13: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(filename, "r")’
vim91/src/ex_cmds2.c:874:8: branch_false: following ‘false’ branch (when ‘lines >= 0’)...
vim91/src/ex_cmds2.c:877:12: branch_false: ...to here
vim91/src/ex_cmds2.c:877:12: acquire_resource: opened here
vim91/src/ex_cmds2.c:878:8: branch_false: following ‘false’ branch...
<unknown>: branch_false: ...to here
vim91/src/ex_cmds2.c:881:17: branch_true: following ‘true’ branch (when ‘i < lines’)...
vim91/src/ex_cmds2.c:883:13: branch_true: ...to here
vim91/src/ex_cmds2.c:883:13: danger: ‘fopen(filename, "r")’ leaks here; was opened at [(3)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/2)
#  881|       for (i = 0; i < lines; i++)
#  882|       {
#  883|-> 	if (vim_fgets(IObuff, IOSIZE, file))
#  884|   	    break;
#  885|   	if (i == 0 && IObuff[0] == '#' && IObuff[1] == '!')

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/ex_cmds2.c:883:13: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(filename, "r")’
vim91/src/ex_cmds2.c:874:8: branch_false: following ‘false’ branch (when ‘lines >= 0’)...
vim91/src/ex_cmds2.c:877:12: branch_false: ...to here
vim91/src/ex_cmds2.c:877:12: acquire_memory: allocated here
vim91/src/ex_cmds2.c:878:8: branch_false: following ‘false’ branch...
<unknown>: branch_false: ...to here
vim91/src/ex_cmds2.c:881:17: branch_true: following ‘true’ branch (when ‘i < lines’)...
vim91/src/ex_cmds2.c:883:13: branch_true: ...to here
vim91/src/ex_cmds2.c:883:13: danger: ‘fopen(filename, "r")’ leaks here; was allocated at [(3)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/2)
#  881|       for (i = 0; i < lines; i++)
#  882|       {
#  883|-> 	if (vim_fgets(IObuff, IOSIZE, file))
#  884|   	    break;
#  885|   	if (i == 0 && IObuff[0] == '#' && IObuff[1] == '!')

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

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

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

Error: GCC_ANALYZER_WARNING (CWE-476):
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:
vim91/src/ex_getln.c: warning: -D_FORTIFY_SOURCE defined but value is too low

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

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/fileio.c:5095:18: warning[-Wanalyzer-malloc-leak]: leak of ‘opendir(path)’
vim91/src/fileio.c:5082:12: acquire_memory: allocated here
vim91/src/fileio.c:5083:8: branch_false: following ‘false’ branch...
<unknown>: branch_false: ...to here
vim91/src/fileio.c:5095:18: danger: ‘opendir(path)’ leaks here; was allocated at [(1)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/0)
# 5093|   	    void    *item;
# 5094|   
# 5095|-> 	    dp = readdir(dirp);
# 5096|   	    if (dp == NULL)
# 5097|   		break;

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

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

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

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

Error: COMPILER_WARNING:
vim91/src/fuzzy.c: warning: -D_FORTIFY_SOURCE defined but value is too low

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

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

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

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/gui.c:193:5: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘pipefd[1]’
vim91/src/gui.c:4951:1: enter_function: entry to ‘ex_gui’
vim91/src/gui.c:4967:8: branch_true: following ‘true’ branch...
vim91/src/gui.c:4978:9: branch_true: ...to here
vim91/src/gui.c:4984:13: call_function: calling ‘gui_start’ from ‘ex_gui’
#  191|   #endif
#  192|   
#  193|->     termcapinit((char_u *)"builtin_gui");
#  194|       gui.starting = recursive - 1;
#  195|   

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/gui.c:203:13: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘pipefd[1]’
vim91/src/gui.c:4951:1: enter_function: entry to ‘ex_gui’
vim91/src/gui.c:4967:8: branch_true: following ‘true’ branch...
vim91/src/gui.c:4978:9: branch_true: ...to here
vim91/src/gui.c:4984:13: call_function: calling ‘gui_start’ from ‘ex_gui’
#  201|   	Display	*x11_display;
#  202|   
#  203|-> 	if (gui_get_x11_windis(&x11_window, &x11_display) == OK)
#  204|   	    set_vim_var_nr(VV_WINDOWID, (long)x11_window);
#  205|   # endif

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/gui.c:204:13: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘pipefd[1]’
vim91/src/gui.c:4951:1: enter_function: entry to ‘ex_gui’
vim91/src/gui.c:4967:8: branch_true: following ‘true’ branch...
vim91/src/gui.c:4978:9: branch_true: ...to here
vim91/src/gui.c:4984:13: call_function: calling ‘gui_start’ from ‘ex_gui’
#  202|   
#  203|   	if (gui_get_x11_windis(&x11_window, &x11_display) == OK)
#  204|-> 	    set_vim_var_nr(VV_WINDOWID, (long)x11_window);
#  205|   # endif
#  206|   

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/gui.c:254:9: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘pipefd[0]’
vim91/src/gui.c:4951:1: enter_function: entry to ‘ex_gui’
vim91/src/gui.c:4967:8: branch_true: following ‘true’ branch...
vim91/src/gui.c:4978:9: branch_true: ...to here
vim91/src/gui.c:4984:13: call_function: calling ‘gui_start’ from ‘ex_gui’
#  252|       if (pid < 0)	    // Fork error
#  253|       {
#  254|-> 	emsg(_(e_failed_to_create_new_process_for_GUI));
#  255|   	return;
#  256|       }

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/gui.c:254:9: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘pipefd[1]’
vim91/src/gui.c:4951:1: enter_function: entry to ‘ex_gui’
vim91/src/gui.c:4967:8: branch_true: following ‘true’ branch...
vim91/src/gui.c:4978:9: branch_true: ...to here
vim91/src/gui.c:4984:13: call_function: calling ‘gui_start’ from ‘ex_gui’
#  252|       if (pid < 0)	    // Fork error
#  253|       {
#  254|-> 	emsg(_(e_failed_to_create_new_process_for_GUI));
#  255|   	return;
#  256|       }

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/gui.c:255:9: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘pipefd[0]’
vim91/src/gui.c:4951:1: enter_function: entry to ‘ex_gui’
vim91/src/gui.c:4967:8: branch_true: following ‘true’ branch...
vim91/src/gui.c:4978:9: branch_true: ...to here
vim91/src/gui.c:4984:13: call_function: calling ‘gui_start’ from ‘ex_gui’
#  253|       {
#  254|   	emsg(_(e_failed_to_create_new_process_for_GUI));
#  255|-> 	return;
#  256|       }
#  257|       else if (pid > 0)	    // Parent

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/gui.c:255:9: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘pipefd[1]’
vim91/src/gui.c:4951:1: enter_function: entry to ‘ex_gui’
vim91/src/gui.c:4967:8: branch_true: following ‘true’ branch...
vim91/src/gui.c:4978:9: branch_true: ...to here
vim91/src/gui.c:4984:13: call_function: calling ‘gui_start’ from ‘ex_gui’
#  253|       {
#  254|   	emsg(_(e_failed_to_create_new_process_for_GUI));
#  255|-> 	return;
#  256|       }
#  257|       else if (pid > 0)	    // Parent

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/gui.c:266:13: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘pipefd[0]’
vim91/src/gui.c:4951:1: enter_function: entry to ‘ex_gui’
vim91/src/gui.c:4967:8: branch_true: following ‘true’ branch...
vim91/src/gui.c:4978:9: branch_true: ...to here
vim91/src/gui.c:4984:13: call_function: calling ‘gui_start’ from ‘ex_gui’
#  264|   	    // The read returns when the child closes the pipe (or when
#  265|   	    // the child dies for some reason).
#  266|-> 	    close(pipefd[1]);
#  267|   	    status = gui_read_child_pipe(pipefd[0]);
#  268|   	    if (status == GUI_CHILD_FAILED)

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/gui.c:266:13: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘pipefd[1]’
vim91/src/gui.c:4951:1: enter_function: entry to ‘ex_gui’
vim91/src/gui.c:4967:8: branch_true: following ‘true’ branch...
vim91/src/gui.c:4978:9: branch_true: ...to here
vim91/src/gui.c:4984:13: call_function: calling ‘gui_start’ from ‘ex_gui’
#  264|   	    // The read returns when the child closes the pipe (or when
#  265|   	    // the child dies for some reason).
#  266|-> 	    close(pipefd[1]);
#  267|   	    status = gui_read_child_pipe(pipefd[0]);
#  268|   	    if (status == GUI_CHILD_FAILED)

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/gui.c:306:9: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘pipefd[0]’
vim91/src/gui.c:4951:1: enter_function: entry to ‘ex_gui’
vim91/src/gui.c:4967:8: branch_true: following ‘true’ branch...
vim91/src/gui.c:4978:9: branch_true: ...to here
vim91/src/gui.c:4984:13: call_function: calling ‘gui_start’ from ‘ex_gui’
#  304|   # ifdef FEAT_GUI_GTK
#  305|       // Call gtk_init_check() here after fork(). See gui_init_check().
#  306|->     if (gui_mch_init_check() != OK)
#  307|   	getout_preserve_modified(1);
#  308|   # endif

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/gui.c:306:9: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘pipefd[1]’
vim91/src/gui.c:4951:1: enter_function: entry to ‘ex_gui’
vim91/src/gui.c:4967:8: branch_true: following ‘true’ branch...
vim91/src/gui.c:4978:9: branch_true: ...to here
vim91/src/gui.c:4984:13: call_function: calling ‘gui_start’ from ‘ex_gui’
#  304|   # ifdef FEAT_GUI_GTK
#  305|       // Call gtk_init_check() here after fork(). See gui_init_check().
#  306|->     if (gui_mch_init_check() != OK)
#  307|   	getout_preserve_modified(1);
#  308|   # endif

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/gui.c:307:9: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘pipefd[0]’
vim91/src/gui.c:4951:1: enter_function: entry to ‘ex_gui’
vim91/src/gui.c:4967:8: branch_true: following ‘true’ branch...
vim91/src/gui.c:4978:9: branch_true: ...to here
vim91/src/gui.c:4984:13: call_function: calling ‘gui_start’ from ‘ex_gui’
#  305|       // Call gtk_init_check() here after fork(). See gui_init_check().
#  306|       if (gui_mch_init_check() != OK)
#  307|-> 	getout_preserve_modified(1);
#  308|   # endif
#  309|   

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/gui.c:307:9: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘pipefd[1]’
vim91/src/gui.c:4951:1: enter_function: entry to ‘ex_gui’
vim91/src/gui.c:4967:8: branch_true: following ‘true’ branch...
vim91/src/gui.c:4978:9: branch_true: ...to here
vim91/src/gui.c:4984:13: call_function: calling ‘gui_start’ from ‘ex_gui’
#  305|       // Call gtk_init_check() here after fork(). See gui_init_check().
#  306|       if (gui_mch_init_check() != OK)
#  307|-> 	getout_preserve_modified(1);
#  308|   # endif
#  309|   

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/gui.c:322:9: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘pipefd[0]’
vim91/src/gui.c:4951:1: enter_function: entry to ‘ex_gui’
vim91/src/gui.c:4967:8: branch_true: following ‘true’ branch...
vim91/src/gui.c:4978:9: branch_true: ...to here
vim91/src/gui.c:4984:13: call_function: calling ‘gui_start’ from ‘ex_gui’
#  320|   # endif
#  321|       if (!pipe_error)
#  322|-> 	close(pipefd[0]);
#  323|   
#  324|   # if defined(FEAT_GUI_GNOME) && defined(FEAT_SESSION)

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/gui.c:322:9: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘pipefd[1]’
vim91/src/gui.c:4951:1: enter_function: entry to ‘ex_gui’
vim91/src/gui.c:4967:8: branch_true: following ‘true’ branch...
vim91/src/gui.c:4978:9: branch_true: ...to here
vim91/src/gui.c:4984:13: call_function: calling ‘gui_start’ from ‘ex_gui’
#  320|   # endif
#  321|       if (!pipe_error)
#  322|-> 	close(pipefd[0]);
#  323|   
#  324|   # if defined(FEAT_GUI_GNOME) && defined(FEAT_SESSION)

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/gui.c:336:13: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘pipefd[1]’
vim91/src/gui.c:4951:1: enter_function: entry to ‘ex_gui’
vim91/src/gui.c:4967:8: branch_true: following ‘true’ branch...
vim91/src/gui.c:4978:9: branch_true: ...to here
vim91/src/gui.c:4984:13: call_function: calling ‘gui_start’ from ‘ex_gui’
#  334|       {
#  335|   	if (gui.in_use)
#  336|-> 	    write_eintr(pipefd[1], "ok", 3);
#  337|   	else
#  338|   	    write_eintr(pipefd[1], "fail", 5);

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/gui.c:338:13: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘pipefd[1]’
vim91/src/gui.c:4951:1: enter_function: entry to ‘ex_gui’
vim91/src/gui.c:4967:8: branch_true: following ‘true’ branch...
vim91/src/gui.c:4978:9: branch_true: ...to here
vim91/src/gui.c:4984:13: call_function: calling ‘gui_start’ from ‘ex_gui’
#  336|   	    write_eintr(pipefd[1], "ok", 3);
#  337|   	else
#  338|-> 	    write_eintr(pipefd[1], "fail", 5);
#  339|   	close(pipefd[1]);
#  340|       }

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/gui.c:363:18: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘pipefd[0]’
vim91/src/gui.c:4951:1: enter_function: entry to ‘ex_gui’
vim91/src/gui.c:4967:8: branch_true: following ‘true’ branch...
vim91/src/gui.c:4978:9: branch_true: ...to here
vim91/src/gui.c:4984:13: call_function: calling ‘gui_start’ from ‘ex_gui’
#  361|       char	buffer[READ_BUFFER_SIZE];
#  362|   
#  363|->     bytes_read = read_eintr(fd, buffer, READ_BUFFER_SIZE - 1);
#  364|   # undef READ_BUFFER_SIZE
#  365|       close(fd);

Error: CPPCHECK_WARNING (CWE-457):
vim91/src/gui.c:2336: warning[uninitvar]: Uninitialized variable: *s
# 2334|   
# 2335|   #ifdef FEAT_SIGN_ICONS
# 2336|->     if (*s == SIGN_BYTE
# 2337|   # ifdef FEAT_NETBEANS_INTG
# 2338|   	  || *s == MULTISIGN_BYTE

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/gui.c:5060:9: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘pipefd[1]’
vim91/src/gui.c:4951:1: enter_function: entry to ‘ex_gui’
vim91/src/gui.c:4967:8: branch_true: following ‘true’ branch...
vim91/src/gui.c:4978:9: branch_true: ...to here
vim91/src/gui.c:4984:13: call_function: calling ‘gui_start’ from ‘ex_gui’
# 5058|       if (isatty(2))
# 5059|       {
# 5060|-> 	fflush(stderr);
# 5061|   	return;
# 5062|       }

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/gui.c:5074:19: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘pipefd[1]’
vim91/src/gui.c:4951:1: enter_function: entry to ‘ex_gui’
vim91/src/gui.c:4967:8: branch_true: following ‘true’ branch...
vim91/src/gui.c:4978:9: branch_true: ...to here
vim91/src/gui.c:4984:13: call_function: calling ‘gui_start’ from ‘ex_gui’
# 5072|   	    if (STRLEN(p) > 2000)
# 5073|   		STRCPY(p + 2000 - 14, "...(truncated)");
# 5074|-> 	    (void)do_dialog(VIM_ERROR, (char_u *)_("Error"),
# 5075|   		    p, (char_u *)_("&Ok"), 1, NULL, FALSE);
# 5076|   	    break;

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/gui.c:5078:5: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘pipefd[1]’
vim91/src/gui.c:4951:1: enter_function: entry to ‘ex_gui’
vim91/src/gui.c:4967:8: branch_true: following ‘true’ branch...
vim91/src/gui.c:4978:9: branch_true: ...to here
vim91/src/gui.c:4984:13: call_function: calling ‘gui_start’ from ‘ex_gui’
# 5076|   	    break;
# 5077|   	}
# 5078|->     ga_clear(&error_ga);
# 5079|   }
# 5080|   #endif

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

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

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

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

Error: COMPILER_WARNING (CWE-477):
vim91/src/gui_gtk_x11.c: scope_hint: In function ‘mainwin_realize’
vim91/src/gui_gtk_x11.c:2785:13: warning[-Wdeprecated-declarations]: ‘gdk_pixbuf_new_from_xpm_data’ is deprecated
# 2785 |             icons = g_list_prepend(icons, gdk_pixbuf_new_from_xpm_data((const char **)vim16x16));
#      |             ^~~~~
/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf.h:34: included_from: Included from here.
/usr/include/gtk-3.0/gdk/gdkpixbuf.h:33: included_from: Included from here.
/usr/include/gtk-3.0/gdk/gdkcairo.h:29: included_from: Included from here.
/usr/include/gtk-3.0/gdk/gdk.h:33: included_from: Included from here.
/usr/include/gtk-3.0/gtk/gtk.h:30: included_from: Included from here.
vim91/src/beval.h:15: included_from: Included from here.
vim91/src/vim.h:2051: included_from: Included from here.
vim91/src/gui_gtk_x11.c:28: included_from: Included from here.
/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-core.h:292:12: note: declared here
#  292 | GdkPixbuf *gdk_pixbuf_new_from_xpm_data (const char **data);
#      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
# 2783|   	    GList *icons = NULL;
# 2784|   
# 2785|-> 	    icons = g_list_prepend(icons, gdk_pixbuf_new_from_xpm_data((const char **)vim16x16));
# 2786|   	    icons = g_list_prepend(icons, gdk_pixbuf_new_from_xpm_data((const char **)vim32x32));
# 2787|   	    icons = g_list_prepend(icons, gdk_pixbuf_new_from_xpm_data((const char **)vim48x48));

Error: COMPILER_WARNING (CWE-477):
vim91/src/gui_gtk_x11.c:2785:13: warning[-Wdeprecated-declarations]: ‘gdk_pixbuf_new_from_xpm_data’ is deprecated
# 2783|   	    GList *icons = NULL;
# 2784|   
# 2785|-> 	    icons = g_list_prepend(icons, gdk_pixbuf_new_from_xpm_data((const char **)vim16x16));
# 2786|   	    icons = g_list_prepend(icons, gdk_pixbuf_new_from_xpm_data((const char **)vim32x32));
# 2787|   	    icons = g_list_prepend(icons, gdk_pixbuf_new_from_xpm_data((const char **)vim48x48));

Error: COMPILER_WARNING (CWE-477):
vim91/src/gui_gtk_x11.c:2786:13: warning[-Wdeprecated-declarations]: ‘gdk_pixbuf_new_from_xpm_data’ is deprecated
# 2786 |             icons = g_list_prepend(icons, gdk_pixbuf_new_from_xpm_data((const char **)vim32x32));
#      |             ^~~~~
/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-core.h:292:12: note: declared here
#  292 | GdkPixbuf *gdk_pixbuf_new_from_xpm_data (const char **data);
#      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
# 2784|   
# 2785|   	    icons = g_list_prepend(icons, gdk_pixbuf_new_from_xpm_data((const char **)vim16x16));
# 2786|-> 	    icons = g_list_prepend(icons, gdk_pixbuf_new_from_xpm_data((const char **)vim32x32));
# 2787|   	    icons = g_list_prepend(icons, gdk_pixbuf_new_from_xpm_data((const char **)vim48x48));
# 2788|   

Error: COMPILER_WARNING (CWE-477):
vim91/src/gui_gtk_x11.c:2786:13: warning[-Wdeprecated-declarations]: ‘gdk_pixbuf_new_from_xpm_data’ is deprecated
# 2784|   
# 2785|   	    icons = g_list_prepend(icons, gdk_pixbuf_new_from_xpm_data((const char **)vim16x16));
# 2786|-> 	    icons = g_list_prepend(icons, gdk_pixbuf_new_from_xpm_data((const char **)vim32x32));
# 2787|   	    icons = g_list_prepend(icons, gdk_pixbuf_new_from_xpm_data((const char **)vim48x48));
# 2788|   

Error: COMPILER_WARNING (CWE-477):
vim91/src/gui_gtk_x11.c:2787:13: warning[-Wdeprecated-declarations]: ‘gdk_pixbuf_new_from_xpm_data’ is deprecated
# 2787 |             icons = g_list_prepend(icons, gdk_pixbuf_new_from_xpm_data((const char **)vim48x48));
#      |             ^~~~~
/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-core.h:292:12: note: declared here
#  292 | GdkPixbuf *gdk_pixbuf_new_from_xpm_data (const char **data);
#      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
# 2785|   	    icons = g_list_prepend(icons, gdk_pixbuf_new_from_xpm_data((const char **)vim16x16));
# 2786|   	    icons = g_list_prepend(icons, gdk_pixbuf_new_from_xpm_data((const char **)vim32x32));
# 2787|-> 	    icons = g_list_prepend(icons, gdk_pixbuf_new_from_xpm_data((const char **)vim48x48));
# 2788|   
# 2789|   	    gtk_window_set_icon_list(GTK_WINDOW(gui.mainwin), icons);

Error: COMPILER_WARNING (CWE-477):
vim91/src/gui_gtk_x11.c:2787:13: warning[-Wdeprecated-declarations]: ‘gdk_pixbuf_new_from_xpm_data’ is deprecated
# 2785|   	    icons = g_list_prepend(icons, gdk_pixbuf_new_from_xpm_data((const char **)vim16x16));
# 2786|   	    icons = g_list_prepend(icons, gdk_pixbuf_new_from_xpm_data((const char **)vim32x32));
# 2787|-> 	    icons = g_list_prepend(icons, gdk_pixbuf_new_from_xpm_data((const char **)vim48x48));
# 2788|   
# 2789|   	    gtk_window_set_icon_list(GTK_WINDOW(gui.mainwin), icons);

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

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

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

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

Error: GCC_ANALYZER_WARNING (CWE-131):
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: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/help.c:852:33: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(*<unknown>, "r")’
vim91/src/help.c:767:24: branch_true: following ‘true’ branch...
vim91/src/help.c:769:20: branch_true: ...to here
vim91/src/help.c:770:16: branch_false: following ‘false’ branch...
vim91/src/help.c:775:13: branch_false: ...to here
vim91/src/help.c:776:20: branch_true: following ‘true’ branch...
vim91/src/help.c:778:17: branch_true: ...to here
vim91/src/help.c:781:20: branch_true: following ‘true’ branch...
vim91/src/help.c:782:29: branch_true: ...to here
vim91/src/help.c:781:21: branch_true: following ‘true’ branch...
vim91/src/help.c:793:21: branch_true: ...to here
vim91/src/help.c:799:24: branch_true: following ‘true’ branch...
vim91/src/help.c:801:32: branch_true: ...to here
vim91/src/help.c:799:25: branch_true: following ‘true’ branch...
<unknown>: branch_true: ...to here
vim91/src/help.c:811:38: branch_true: following ‘true’ branch...
vim91/src/help.c:813:40: branch_true: ...to here
vim91/src/help.c:845:38: branch_true: following ‘true’ branch...
vim91/src/help.c:847:39: branch_true: ...to here
vim91/src/help.c:847:32: branch_false: following ‘false’ branch...
vim91/src/help.c:849:34: branch_false: ...to here
vim91/src/help.c:849:34: acquire_resource: opened here
vim91/src/help.c:850:32: branch_true: following ‘true’ branch...
vim91/src/help.c:852:33: branch_true: ...to here
vim91/src/help.c:852:33: danger: ‘fopen(*<unknown>, "r")’ leaks here; was opened at [(22)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/21)
#  850|   			    if (fd != NULL)
#  851|   			    {
#  852|-> 				vim_fgets(IObuff, IOSIZE, fd);
#  853|   				if (IObuff[0] == '*'
#  854|   					&& (s = vim_strchr(IObuff + 1, '*'))

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/help.c:852:33: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(*<unknown>, "r")’
vim91/src/help.c:767:24: branch_true: following ‘true’ branch...
vim91/src/help.c:769:20: branch_true: ...to here
vim91/src/help.c:770:16: branch_false: following ‘false’ branch...
vim91/src/help.c:775:13: branch_false: ...to here
vim91/src/help.c:776:20: branch_true: following ‘true’ branch...
vim91/src/help.c:778:17: branch_true: ...to here
vim91/src/help.c:781:20: branch_true: following ‘true’ branch...
vim91/src/help.c:782:29: branch_true: ...to here
vim91/src/help.c:781:21: branch_true: following ‘true’ branch...
vim91/src/help.c:793:21: branch_true: ...to here
vim91/src/help.c:799:24: branch_true: following ‘true’ branch...
vim91/src/help.c:801:32: branch_true: ...to here
vim91/src/help.c:799:25: branch_true: following ‘true’ branch...
<unknown>: branch_true: ...to here
vim91/src/help.c:811:38: branch_true: following ‘true’ branch...
vim91/src/help.c:813:40: branch_true: ...to here
vim91/src/help.c:845:38: branch_true: following ‘true’ branch...
vim91/src/help.c:847:39: branch_true: ...to here
vim91/src/help.c:847:32: branch_false: following ‘false’ branch...
vim91/src/help.c:849:34: branch_false: ...to here
vim91/src/help.c:849:34: acquire_memory: allocated here
vim91/src/help.c:850:32: branch_true: following ‘true’ branch...
vim91/src/help.c:852:33: branch_true: ...to here
vim91/src/help.c:852:33: danger: ‘fopen(*<unknown>, "r")’ leaks here; was allocated at [(22)](sarif:/runs/0/results/2/codeFlows/0/threadFlows/0/locations/21)
#  850|   			    if (fd != NULL)
#  851|   			    {
#  852|-> 				vim_fgets(IObuff, IOSIZE, fd);
#  853|   				if (IObuff[0] == '*'
#  854|   					&& (s = vim_strchr(IObuff + 1, '*'))

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/help.c:1002:5: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(NameBuff, "w")’
vim91/src/help.c:977:8: branch_false: following ‘false’ branch...
vim91/src/help.c:991:15: acquire_resource: opened here
vim91/src/help.c:992:8: branch_false: following ‘false’ branch...
vim91/src/help.c:1002:5: branch_false: ...to here
vim91/src/help.c:1002:5: danger: ‘fopen(NameBuff, "w")’ leaks here; was opened at [(3)](sarif:/runs/0/results/3/codeFlows/0/threadFlows/0/locations/2)
# 1000|       // If using the "++t" argument or generating tags for "$VIMRUNTIME/doc"
# 1001|       // add the "help-tags" tag.
# 1002|->     ga_init2(&ga, sizeof(char_u *), 100);
# 1003|       if (add_help_tags || fullpathcmp((char_u *)"$VIMRUNTIME/doc",
# 1004|   						dir, FALSE, TRUE) == FPC_SAME)

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/help.c:1002:5: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(NameBuff, "w")’
vim91/src/help.c:977:8: branch_false: following ‘false’ branch...
vim91/src/help.c:991:15: acquire_memory: allocated here
vim91/src/help.c:992:8: branch_false: following ‘false’ branch...
vim91/src/help.c:1002:5: branch_false: ...to here
vim91/src/help.c:1002:5: danger: ‘fopen(NameBuff, "w")’ leaks here; was allocated at [(3)](sarif:/runs/0/results/4/codeFlows/0/threadFlows/0/locations/2)
# 1000|       // If using the "++t" argument or generating tags for "$VIMRUNTIME/doc"
# 1001|       // add the "help-tags" tag.
# 1002|->     ga_init2(&ga, sizeof(char_u *), 100);
# 1003|       if (add_help_tags || fullpathcmp((char_u *)"$VIMRUNTIME/doc",
# 1004|   						dir, FALSE, TRUE) == FPC_SAME)

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/help.c:1003:26: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(NameBuff, "w")’
vim91/src/help.c:977:8: branch_false: following ‘false’ branch...
vim91/src/help.c:991:15: acquire_resource: opened here
vim91/src/help.c:992:8: branch_false: following ‘false’ branch...
vim91/src/help.c:1002:5: branch_false: ...to here
vim91/src/help.c:1003:8: branch_false: following ‘false’ branch (when ‘add_help_tags == 0’)...
vim91/src/help.c:1003:26: branch_false: ...to here
vim91/src/help.c:1003:26: danger: ‘fopen(NameBuff, "w")’ leaks here; was opened at [(3)](sarif:/runs/0/results/5/codeFlows/0/threadFlows/0/locations/2)
# 1001|       // add the "help-tags" tag.
# 1002|       ga_init2(&ga, sizeof(char_u *), 100);
# 1003|->     if (add_help_tags || fullpathcmp((char_u *)"$VIMRUNTIME/doc",
# 1004|   						dir, FALSE, TRUE) == FPC_SAME)
# 1005|       {

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/help.c:1003:26: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(NameBuff, "w")’
vim91/src/help.c:977:8: branch_false: following ‘false’ branch...
vim91/src/help.c:991:15: acquire_memory: allocated here
vim91/src/help.c:992:8: branch_false: following ‘false’ branch...
vim91/src/help.c:1002:5: branch_false: ...to here
vim91/src/help.c:1003:8: branch_false: following ‘false’ branch (when ‘add_help_tags == 0’)...
vim91/src/help.c:1003:26: branch_false: ...to here
vim91/src/help.c:1003:26: danger: ‘fopen(NameBuff, "w")’ leaks here; was allocated at [(3)](sarif:/runs/0/results/6/codeFlows/0/threadFlows/0/locations/2)
# 1001|       // add the "help-tags" tag.
# 1002|       ga_init2(&ga, sizeof(char_u *), 100);
# 1003|->     if (add_help_tags || fullpathcmp((char_u *)"$VIMRUNTIME/doc",
# 1004|   						dir, FALSE, TRUE) == FPC_SAME)
# 1005|       {

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/help.c:1006:13: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(NameBuff, "w")’
vim91/src/help.c:977:8: branch_false: following ‘false’ branch...
vim91/src/help.c:991:15: acquire_resource: opened here
vim91/src/help.c:992:8: branch_false: following ‘false’ branch...
vim91/src/help.c:1002:5: branch_false: ...to here
vim91/src/help.c:1006:13: danger: ‘fopen(NameBuff, "w")’ leaks here; was opened at [(3)](sarif:/runs/0/results/7/codeFlows/0/threadFlows/0/locations/2)
# 1004|   						dir, FALSE, TRUE) == FPC_SAME)
# 1005|       {
# 1006|-> 	if (ga_grow(&ga, 1) == FAIL)
# 1007|   	    got_int = TRUE;
# 1008|   	else

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/help.c:1006:13: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(NameBuff, "w")’
vim91/src/help.c:977:8: branch_false: following ‘false’ branch...
vim91/src/help.c:991:15: acquire_memory: allocated here
vim91/src/help.c:992:8: branch_false: following ‘false’ branch...
vim91/src/help.c:1002:5: branch_false: ...to here
vim91/src/help.c:1006:13: danger: ‘fopen(NameBuff, "w")’ leaks here; was allocated at [(3)](sarif:/runs/0/results/8/codeFlows/0/threadFlows/0/locations/2)
# 1004|   						dir, FALSE, TRUE) == FPC_SAME)
# 1005|       {
# 1006|-> 	if (ga_grow(&ga, 1) == FAIL)
# 1007|   	    got_int = TRUE;
# 1008|   	else

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/help.c:1010:17: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(NameBuff, "w")’
vim91/src/help.c:977:8: branch_false: following ‘false’ branch...
vim91/src/help.c:991:15: acquire_resource: opened here
vim91/src/help.c:992:8: branch_false: following ‘false’ branch...
vim91/src/help.c:1002:5: branch_false: ...to here
vim91/src/help.c:1006:12: branch_false: following ‘false’ branch...
vim91/src/help.c:1010:38: branch_false: ...to here
vim91/src/help.c:1010:17: danger: ‘fopen(NameBuff, "w")’ leaks here; was opened at [(3)](sarif:/runs/0/results/9/codeFlows/0/threadFlows/0/locations/2)
# 1008|   	else
# 1009|   	{
# 1010|-> 	    s = alloc(18 + (unsigned)STRLEN(tagfname));
# 1011|   	    if (s == NULL)
# 1012|   		got_int = TRUE;

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/help.c:1010:17: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(NameBuff, "w")’
vim91/src/help.c:977:8: branch_false: following ‘false’ branch...
vim91/src/help.c:991:15: acquire_memory: allocated here
vim91/src/help.c:992:8: branch_false: following ‘false’ branch...
vim91/src/help.c:1002:5: branch_false: ...to here
vim91/src/help.c:1006:12: branch_false: following ‘false’ branch...
vim91/src/help.c:1010:38: branch_false: ...to here
vim91/src/help.c:1010:17: danger: ‘fopen(NameBuff, "w")’ leaks here; was allocated at [(3)](sarif:/runs/0/results/10/codeFlows/0/threadFlows/0/locations/2)
# 1008|   	else
# 1009|   	{
# 1010|-> 	    s = alloc(18 + (unsigned)STRLEN(tagfname));
# 1011|   	    if (s == NULL)
# 1012|   		got_int = TRUE;

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/help.c:1028:13: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(NameBuff, "w")’
vim91/src/help.c:977:8: branch_false: following ‘false’ branch...
vim91/src/help.c:991:15: acquire_resource: opened here
vim91/src/help.c:992:8: branch_false: following ‘false’ branch...
vim91/src/help.c:1002:5: branch_false: ...to here
vim91/src/help.c:1023:18: branch_true: following ‘true’ branch...
vim91/src/help.c:1026:12: branch_true: following ‘true’ branch...
vim91/src/help.c:1028:61: branch_true: ...to here
vim91/src/help.c:1028:13: danger: ‘fopen(NameBuff, "w")’ leaks here; was opened at [(3)](sarif:/runs/0/results/11/codeFlows/0/threadFlows/0/locations/2)
# 1026|   	if (fd == NULL)
# 1027|   	{
# 1028|-> 	    semsg(_(e_unable_to_open_str_for_reading), files[fi]);
# 1029|   	    continue;
# 1030|   	}

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/help.c:1028:13: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(NameBuff, "w")’
vim91/src/help.c:977:8: branch_false: following ‘false’ branch...
vim91/src/help.c:991:15: acquire_memory: allocated here
vim91/src/help.c:992:8: branch_false: following ‘false’ branch...
vim91/src/help.c:1002:5: branch_false: ...to here
vim91/src/help.c:1023:18: branch_true: following ‘true’ branch...
vim91/src/help.c:1026:12: branch_true: following ‘true’ branch...
vim91/src/help.c:1028:61: branch_true: ...to here
vim91/src/help.c:1028:13: danger: ‘fopen(NameBuff, "w")’ leaks here; was allocated at [(3)](sarif:/runs/0/results/12/codeFlows/0/threadFlows/0/locations/2)
# 1026|   	if (fd == NULL)
# 1027|   	{
# 1028|-> 	    semsg(_(e_unable_to_open_str_for_reading), files[fi]);
# 1029|   	    continue;
# 1030|   	}

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/help.c:1035:17: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(*<unknown>, "r")’
vim91/src/help.c:977:8: branch_false: following ‘false’ branch...
vim91/src/help.c:992:8: branch_false: following ‘false’ branch...
vim91/src/help.c:1002:5: branch_false: ...to here
vim91/src/help.c:1023:18: branch_true: following ‘true’ branch...
vim91/src/help.c:1025:14: acquire_resource: opened here
vim91/src/help.c:1026:12: branch_false: following ‘false’ branch...
vim91/src/help.c:1031:22: branch_false: ...to here
vim91/src/help.c:1035:17: danger: ‘fopen(*<unknown>, "r")’ leaks here; was opened at [(7)](sarif:/runs/0/results/13/codeFlows/0/threadFlows/0/locations/6)
# 1033|   	in_example = FALSE;
# 1034|   	firstline = TRUE;
# 1035|-> 	while (!vim_fgets(IObuff, IOSIZE, fd) && !got_int)
# 1036|   	{
# 1037|   	    if (firstline)

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/help.c:1035:17: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(NameBuff, "w")’
vim91/src/help.c:977:8: branch_false: following ‘false’ branch...
vim91/src/help.c:991:15: acquire_resource: opened here
vim91/src/help.c:992:8: branch_false: following ‘false’ branch...
vim91/src/help.c:1002:5: branch_false: ...to here
vim91/src/help.c:1023:18: branch_true: following ‘true’ branch...
vim91/src/help.c:1026:12: branch_false: following ‘false’ branch...
vim91/src/help.c:1031:22: branch_false: ...to here
vim91/src/help.c:1035:17: danger: ‘fopen(NameBuff, "w")’ leaks here; was opened at [(3)](sarif:/runs/0/results/14/codeFlows/0/threadFlows/0/locations/2)
# 1033|   	in_example = FALSE;
# 1034|   	firstline = TRUE;
# 1035|-> 	while (!vim_fgets(IObuff, IOSIZE, fd) && !got_int)
# 1036|   	{
# 1037|   	    if (firstline)

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/help.c:1035:17: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(*<unknown>, "r")’
vim91/src/help.c:977:8: branch_false: following ‘false’ branch...
vim91/src/help.c:992:8: branch_false: following ‘false’ branch...
vim91/src/help.c:1002:5: branch_false: ...to here
vim91/src/help.c:1023:18: branch_true: following ‘true’ branch...
vim91/src/help.c:1025:14: acquire_memory: allocated here
vim91/src/help.c:1026:12: branch_false: following ‘false’ branch...
vim91/src/help.c:1031:22: branch_false: ...to here
vim91/src/help.c:1035:17: danger: ‘fopen(*<unknown>, "r")’ leaks here; was allocated at [(7)](sarif:/runs/0/results/15/codeFlows/0/threadFlows/0/locations/6)
# 1033|   	in_example = FALSE;
# 1034|   	firstline = TRUE;
# 1035|-> 	while (!vim_fgets(IObuff, IOSIZE, fd) && !got_int)
# 1036|   	{
# 1037|   	    if (firstline)

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/help.c:1035:17: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(NameBuff, "w")’
vim91/src/help.c:977:8: branch_false: following ‘false’ branch...
vim91/src/help.c:991:15: acquire_memory: allocated here
vim91/src/help.c:992:8: branch_false: following ‘false’ branch...
vim91/src/help.c:1002:5: branch_false: ...to here
vim91/src/help.c:1023:18: branch_true: following ‘true’ branch...
vim91/src/help.c:1026:12: branch_false: following ‘false’ branch...
vim91/src/help.c:1031:22: branch_false: ...to here
vim91/src/help.c:1035:17: danger: ‘fopen(NameBuff, "w")’ leaks here; was allocated at [(3)](sarif:/runs/0/results/16/codeFlows/0/threadFlows/0/locations/2)
# 1033|   	in_example = FALSE;
# 1034|   	firstline = TRUE;
# 1035|-> 	while (!vim_fgets(IObuff, IOSIZE, fd) && !got_int)
# 1036|   	{
# 1037|   	    if (firstline)

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/help.c:1047:29: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(NameBuff, "w")’
vim91/src/help.c:977:8: branch_false: following ‘false’ branch...
vim91/src/help.c:991:15: acquire_resource: opened here
vim91/src/help.c:992:8: branch_false: following ‘false’ branch...
vim91/src/help.c:1002:5: branch_false: ...to here
vim91/src/help.c:1023:18: branch_true: following ‘true’ branch...
vim91/src/help.c:1026:12: branch_false: following ‘false’ branch...
vim91/src/help.c:1031:22: branch_false: ...to here
vim91/src/help.c:1035:16: branch_true: following ‘true’ branch...
vim91/src/help.c:1037:16: branch_true: following ‘true’ branch (when ‘firstline != 0’)...
vim91/src/help.c:1041:22: branch_true: ...to here
vim91/src/help.c:1041:34: branch_true: following ‘true’ branch...
vim91/src/help.c:1042:25: branch_true: ...to here
vim91/src/help.c:1042:24: branch_true: following ‘true’ branch...
vim91/src/help.c:1047:29: branch_true: ...to here
vim91/src/help.c:1047:29: danger: ‘fopen(NameBuff, "w")’ leaks here; was opened at [(3)](sarif:/runs/0/results/17/codeFlows/0/threadFlows/0/locations/2)
# 1045|   
# 1046|   			this_utf8 = TRUE;
# 1047|-> 			l = utf_ptr2len(s);
# 1048|   			if (l == 1)
# 1049|   			{

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/help.c:1047:29: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(NameBuff, "w")’
vim91/src/help.c:977:8: branch_false: following ‘false’ branch...
vim91/src/help.c:991:15: acquire_memory: allocated here
vim91/src/help.c:992:8: branch_false: following ‘false’ branch...
vim91/src/help.c:1002:5: branch_false: ...to here
vim91/src/help.c:1023:18: branch_true: following ‘true’ branch...
vim91/src/help.c:1026:12: branch_false: following ‘false’ branch...
vim91/src/help.c:1031:22: branch_false: ...to here
vim91/src/help.c:1035:16: branch_true: following ‘true’ branch...
vim91/src/help.c:1037:16: branch_true: following ‘true’ branch (when ‘firstline != 0’)...
vim91/src/help.c:1041:22: branch_true: ...to here
vim91/src/help.c:1041:34: branch_true: following ‘true’ branch...
vim91/src/help.c:1042:25: branch_true: ...to here
vim91/src/help.c:1042:24: branch_true: following ‘true’ branch...
vim91/src/help.c:1047:29: branch_true: ...to here
vim91/src/help.c:1047:29: danger: ‘fopen(NameBuff, "w")’ leaks here; was allocated at [(3)](sarif:/runs/0/results/18/codeFlows/0/threadFlows/0/locations/2)
# 1045|   
# 1046|   			this_utf8 = TRUE;
# 1047|-> 			l = utf_ptr2len(s);
# 1048|   			if (l == 1)
# 1049|   			{

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/help.c:1075:18: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(NameBuff, "w")’
vim91/src/help.c:977:8: branch_false: following ‘false’ branch...
vim91/src/help.c:991:15: acquire_resource: opened here
vim91/src/help.c:992:8: branch_false: following ‘false’ branch...
vim91/src/help.c:1002:5: branch_false: ...to here
vim91/src/help.c:1023:18: branch_true: following ‘true’ branch...
vim91/src/help.c:1026:12: branch_false: following ‘false’ branch...
vim91/src/help.c:1031:22: branch_false: ...to here
vim91/src/help.c:1035:16: branch_true: following ‘true’ branch...
vim91/src/help.c:1037:16: branch_true: following ‘true’ branch (when ‘firstline != 0’)...
vim91/src/help.c:1041:22: branch_true: ...to here
vim91/src/help.c:1058:20: branch_true: following ‘true’ branch (when ‘utf8 == 2’)...
vim91/src/help.c:1068:16: branch_true: ...to here
vim91/src/help.c:1068:16: branch_false: following ‘false’ branch (when ‘in_example == 0’)...
vim91/src/help.c:1075:18: branch_false: ...to here
vim91/src/help.c:1075:18: danger: ‘fopen(NameBuff, "w")’ leaks here; was opened at [(3)](sarif:/runs/0/results/19/codeFlows/0/threadFlows/0/locations/2)
# 1073|   		in_example = FALSE;
# 1074|   	    }
# 1075|-> 	    p1 = vim_strchr(IObuff, '*');	// find first '*'
# 1076|   	    while (p1 != NULL)
# 1077|   	    {

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/help.c:1075:18: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(NameBuff, "w")’
vim91/src/help.c:977:8: branch_false: following ‘false’ branch...
vim91/src/help.c:991:15: acquire_memory: allocated here
vim91/src/help.c:992:8: branch_false: following ‘false’ branch...
vim91/src/help.c:1002:5: branch_false: ...to here
vim91/src/help.c:1023:18: branch_true: following ‘true’ branch...
vim91/src/help.c:1026:12: branch_false: following ‘false’ branch...
vim91/src/help.c:1031:22: branch_false: ...to here
vim91/src/help.c:1035:16: branch_true: following ‘true’ branch...
vim91/src/help.c:1037:16: branch_true: following ‘true’ branch (when ‘firstline != 0’)...
vim91/src/help.c:1041:22: branch_true: ...to here
vim91/src/help.c:1058:20: branch_true: following ‘true’ branch (when ‘utf8 == 2’)...
vim91/src/help.c:1068:16: branch_true: ...to here
vim91/src/help.c:1068:16: branch_false: following ‘false’ branch (when ‘in_example == 0’)...
vim91/src/help.c:1075:18: branch_false: ...to here
vim91/src/help.c:1075:18: danger: ‘fopen(NameBuff, "w")’ leaks here; was allocated at [(3)](sarif:/runs/0/results/20/codeFlows/0/threadFlows/0/locations/2)
# 1073|   		in_example = FALSE;
# 1074|   	    }
# 1075|-> 	    p1 = vim_strchr(IObuff, '*');	// find first '*'
# 1076|   	    while (p1 != NULL)
# 1077|   	    {

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/help.c:1081:22: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(NameBuff, "w")’
vim91/src/help.c:977:8: branch_false: following ‘false’ branch...
vim91/src/help.c:991:15: acquire_resource: opened here
vim91/src/help.c:992:8: branch_false: following ‘false’ branch...
vim91/src/help.c:1002:5: branch_false: ...to here
vim91/src/help.c:1023:18: branch_true: following ‘true’ branch...
vim91/src/help.c:1026:12: branch_false: following ‘false’ branch...
vim91/src/help.c:1031:22: branch_false: ...to here
vim91/src/help.c:1035:16: branch_true: following ‘true’ branch...
vim91/src/help.c:1037:16: branch_true: following ‘true’ branch (when ‘firstline != 0’)...
vim91/src/help.c:1041:22: branch_true: ...to here
vim91/src/help.c:1058:20: branch_true: following ‘true’ branch (when ‘utf8 == 2’)...
vim91/src/help.c:1068:16: branch_true: ...to here
vim91/src/help.c:1068:16: branch_false: following ‘false’ branch (when ‘in_example == 0’)...
vim91/src/help.c:1075:18: branch_false: ...to here
vim91/src/help.c:1076:20: branch_true: following ‘true’ branch (when ‘p1’ is non-NULL)...
vim91/src/help.c:1081:22: branch_true: ...to here
vim91/src/help.c:1081:22: danger: ‘fopen(NameBuff, "w")’ leaks here; was opened at [(3)](sarif:/runs/0/results/21/codeFlows/0/threadFlows/0/locations/2)
# 1079|   		// 'encoding' is dbcs it still works, don't find '*' in the
# 1080|   		// second byte.
# 1081|-> 		p2 = vim_strbyte(p1 + 1, '*');	// find second '*'
# 1082|   		if (p2 != NULL && p2 > p1 + 1)	// skip "*" and "**"
# 1083|   		{

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/help.c:1081:22: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(NameBuff, "w")’
vim91/src/help.c:977:8: branch_false: following ‘false’ branch...
vim91/src/help.c:991:15: acquire_memory: allocated here
vim91/src/help.c:992:8: branch_false: following ‘false’ branch...
vim91/src/help.c:1002:5: branch_false: ...to here
vim91/src/help.c:1023:18: branch_true: following ‘true’ branch...
vim91/src/help.c:1026:12: branch_false: following ‘false’ branch...
vim91/src/help.c:1031:22: branch_false: ...to here
vim91/src/help.c:1035:16: branch_true: following ‘true’ branch...
vim91/src/help.c:1037:16: branch_true: following ‘true’ branch (when ‘firstline != 0’)...
vim91/src/help.c:1041:22: branch_true: ...to here
vim91/src/help.c:1058:20: branch_true: following ‘true’ branch (when ‘utf8 == 2’)...
vim91/src/help.c:1068:16: branch_true: ...to here
vim91/src/help.c:1068:16: branch_false: following ‘false’ branch (when ‘in_example == 0’)...
vim91/src/help.c:1075:18: branch_false: ...to here
vim91/src/help.c:1076:20: branch_true: following ‘true’ branch (when ‘p1’ is non-NULL)...
vim91/src/help.c:1081:22: branch_true: ...to here
vim91/src/help.c:1081:22: danger: ‘fopen(NameBuff, "w")’ leaks here; was allocated at [(3)](sarif:/runs/0/results/22/codeFlows/0/threadFlows/0/locations/2)
# 1079|   		// 'encoding' is dbcs it still works, don't find '*' in the
# 1080|   		// second byte.
# 1081|-> 		p2 = vim_strbyte(p1 + 1, '*');	// find second '*'
# 1082|   		if (p2 != NULL && p2 > p1 + 1)	// skip "*" and "**"
# 1083|   		{

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/help.c:1093:33: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(NameBuff, "w")’
vim91/src/help.c:977:8: branch_false: following ‘false’ branch...
vim91/src/help.c:991:15: acquire_resource: opened here
vim91/src/help.c:992:8: branch_false: following ‘false’ branch...
vim91/src/help.c:1002:5: branch_false: ...to here
vim91/src/help.c:1023:18: branch_true: following ‘true’ branch...
vim91/src/help.c:1026:12: branch_false: following ‘false’ branch...
vim91/src/help.c:1031:22: branch_false: ...to here
vim91/src/help.c:1035:16: branch_true: following ‘true’ branch...
vim91/src/help.c:1037:16: branch_true: following ‘true’ branch (when ‘firstline != 0’)...
vim91/src/help.c:1041:22: branch_true: ...to here
vim91/src/help.c:1058:20: branch_true: following ‘true’ branch (when ‘utf8 == 2’)...
vim91/src/help.c:1068:16: branch_true: ...to here
vim91/src/help.c:1068:16: branch_false: following ‘false’ branch (when ‘in_example == 0’)...
vim91/src/help.c:1075:18: branch_false: ...to here
vim91/src/help.c:1076:20: branch_true: following ‘true’ branch (when ‘p1’ is non-NULL)...
vim91/src/help.c:1081:22: branch_true: ...to here
vim91/src/help.c:1082:20: branch_true: following ‘true’ branch...
vim91/src/help.c:1084:38: branch_true: following ‘true’ branch...
vim91/src/help.c:1085:29: branch_true: ...to here
vim91/src/help.c:1091:24: branch_true: following ‘true’ branch...
vim91/src/help.c:1092:33: branch_true: ...to here
vim91/src/help.c:1093:33: danger: ‘fopen(NameBuff, "w")’ leaks here; was opened at [(3)](sarif:/runs/0/results/23/codeFlows/0/threadFlows/0/locations/2)
# 1091|   		    if (s == p2
# 1092|   			    && (p1 == IObuff || p1[-1] == ' ' || p1[-1] == '\t')
# 1093|-> 			    && (vim_strchr((char_u *)" \t\n\r", s[1]) != NULL
# 1094|   				|| s[1] == '\0'))
# 1095|   		    {

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/help.c:1093:33: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(NameBuff, "w")’
vim91/src/help.c:977:8: branch_false: following ‘false’ branch...
vim91/src/help.c:991:15: acquire_memory: allocated here
vim91/src/help.c:992:8: branch_false: following ‘false’ branch...
vim91/src/help.c:1002:5: branch_false: ...to here
vim91/src/help.c:1023:18: branch_true: following ‘true’ branch...
vim91/src/help.c:1026:12: branch_false: following ‘false’ branch...
vim91/src/help.c:1031:22: branch_false: ...to here
vim91/src/help.c:1035:16: branch_true: following ‘true’ branch...
vim91/src/help.c:1037:16: branch_true: following ‘true’ branch (when ‘firstline != 0’)...
vim91/src/help.c:1041:22: branch_true: ...to here
vim91/src/help.c:1058:20: branch_true: following ‘true’ branch (when ‘utf8 == 2’)...
vim91/src/help.c:1068:16: branch_true: ...to here
vim91/src/help.c:1068:16: branch_false: following ‘false’ branch (when ‘in_example == 0’)...
vim91/src/help.c:1075:18: branch_false: ...to here
vim91/src/help.c:1076:20: branch_true: following ‘true’ branch (when ‘p1’ is non-NULL)...
vim91/src/help.c:1081:22: branch_true: ...to here
vim91/src/help.c:1082:20: branch_true: following ‘true’ branch...
vim91/src/help.c:1084:38: branch_true: following ‘true’ branch...
vim91/src/help.c:1085:29: branch_true: ...to here
vim91/src/help.c:1091:24: branch_true: following ‘true’ branch...
vim91/src/help.c:1092:33: branch_true: ...to here
vim91/src/help.c:1093:33: danger: ‘fopen(NameBuff, "w")’ leaks here; was allocated at [(3)](sarif:/runs/0/results/24/codeFlows/0/threadFlows/0/locations/2)
# 1091|   		    if (s == p2
# 1092|   			    && (p1 == IObuff || p1[-1] == ' ' || p1[-1] == '\t')
# 1093|-> 			    && (vim_strchr((char_u *)" \t\n\r", s[1]) != NULL
# 1094|   				|| s[1] == '\0'))
# 1095|   		    {

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/help.c:1098:29: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(NameBuff, "w")’
vim91/src/help.c:977:8: branch_false: following ‘false’ branch...
vim91/src/help.c:991:15: acquire_resource: opened here
vim91/src/help.c:992:8: branch_false: following ‘false’ branch...
vim91/src/help.c:1002:5: branch_false: ...to here
vim91/src/help.c:1023:18: branch_true: following ‘true’ branch...
vim91/src/help.c:1026:12: branch_false: following ‘false’ branch...
vim91/src/help.c:1031:22: branch_false: ...to here
vim91/src/help.c:1035:16: branch_true: following ‘true’ branch...
vim91/src/help.c:1037:16: branch_true: following ‘true’ branch (when ‘firstline != 0’)...
vim91/src/help.c:1041:22: branch_true: ...to here
vim91/src/help.c:1058:20: branch_true: following ‘true’ branch (when ‘utf8 == 2’)...
vim91/src/help.c:1068:16: branch_true: ...to here
vim91/src/help.c:1068:16: branch_false: following ‘false’ branch (when ‘in_example == 0’)...
vim91/src/help.c:1075:18: branch_false: ...to here
vim91/src/help.c:1076:20: branch_true: following ‘true’ branch (when ‘p1’ is non-NULL)...
vim91/src/help.c:1081:22: branch_true: ...to here
vim91/src/help.c:1082:20: branch_true: following ‘true’ branch...
vim91/src/help.c:1084:38: branch_true: following ‘true’ branch...
vim91/src/help.c:1085:29: branch_true: ...to here
vim91/src/help.c:1091:24: branch_true: following ‘true’ branch...
vim91/src/help.c:1092:33: branch_true: ...to here
vim91/src/help.c:1098:29: danger: ‘fopen(NameBuff, "w")’ leaks here; was opened at [(3)](sarif:/runs/0/results/25/codeFlows/0/threadFlows/0/locations/2)
# 1096|   			*p2 = '\0';
# 1097|   			++p1;
# 1098|-> 			if (ga_grow(&ga, 1) == FAIL)
# 1099|   			{
# 1100|   			    got_int = TRUE;

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/help.c:1098:29: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(NameBuff, "w")’
vim91/src/help.c:977:8: branch_false: following ‘false’ branch...
vim91/src/help.c:991:15: acquire_memory: allocated here
vim91/src/help.c:992:8: branch_false: following ‘false’ branch...
vim91/src/help.c:1002:5: branch_false: ...to here
vim91/src/help.c:1023:18: branch_true: following ‘true’ branch...
vim91/src/help.c:1026:12: branch_false: following ‘false’ branch...
vim91/src/help.c:1031:22: branch_false: ...to here
vim91/src/help.c:1035:16: branch_true: following ‘true’ branch...
vim91/src/help.c:1037:16: branch_true: following ‘true’ branch (when ‘firstline != 0’)...
vim91/src/help.c:1041:22: branch_true: ...to here
vim91/src/help.c:1058:20: branch_true: following ‘true’ branch (when ‘utf8 == 2’)...
vim91/src/help.c:1068:16: branch_true: ...to here
vim91/src/help.c:1068:16: branch_false: following ‘false’ branch (when ‘in_example == 0’)...
vim91/src/help.c:1075:18: branch_false: ...to here
vim91/src/help.c:1076:20: branch_true: following ‘true’ branch (when ‘p1’ is non-NULL)...
vim91/src/help.c:1081:22: branch_true: ...to here
vim91/src/help.c:1082:20: branch_true: following ‘true’ branch...
vim91/src/help.c:1084:38: branch_true: following ‘true’ branch...
vim91/src/help.c:1085:29: branch_true: ...to here
vim91/src/help.c:1091:24: branch_true: following ‘true’ branch...
vim91/src/help.c:1092:33: branch_true: ...to here
vim91/src/help.c:1098:29: danger: ‘fopen(NameBuff, "w")’ leaks here; was allocated at [(3)](sarif:/runs/0/results/26/codeFlows/0/threadFlows/0/locations/2)
# 1096|   			*p2 = '\0';
# 1097|   			++p1;
# 1098|-> 			if (ga_grow(&ga, 1) == FAIL)
# 1099|   			{
# 1100|   			    got_int = TRUE;

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/help.c:1103:29: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(NameBuff, "w")’
vim91/src/help.c:977:8: branch_false: following ‘false’ branch...
vim91/src/help.c:991:15: acquire_resource: opened here
vim91/src/help.c:992:8: branch_false: following ‘false’ branch...
vim91/src/help.c:1002:5: branch_false: ...to here
vim91/src/help.c:1023:18: branch_true: following ‘true’ branch...
vim91/src/help.c:1026:12: branch_false: following ‘false’ branch...
vim91/src/help.c:1031:22: branch_false: ...to here
vim91/src/help.c:1035:16: branch_true: following ‘true’ branch...
vim91/src/help.c:1037:16: branch_true: following ‘true’ branch (when ‘firstline != 0’)...
vim91/src/help.c:1041:22: branch_true: ...to here
vim91/src/help.c:1058:20: branch_true: following ‘true’ branch (when ‘utf8 == 2’)...
vim91/src/help.c:1068:16: branch_true: ...to here
vim91/src/help.c:1068:16: branch_false: following ‘false’ branch (when ‘in_example == 0’)...
vim91/src/help.c:1075:18: branch_false: ...to here
vim91/src/help.c:1076:20: branch_true: following ‘true’ branch (when ‘p1’ is non-NULL)...
vim91/src/help.c:1081:22: branch_true: ...to here
vim91/src/help.c:1082:20: branch_true: following ‘true’ branch...
vim91/src/help.c:1084:38: branch_true: following ‘true’ branch...
vim91/src/help.c:1085:29: branch_true: ...to here
vim91/src/help.c:1091:24: branch_true: following ‘true’ branch...
vim91/src/help.c:1092:33: branch_true: ...to here
vim91/src/help.c:1098:28: branch_false: following ‘false’ branch...
vim91/src/help.c:1103:35: branch_false: ...to here
vim91/src/help.c:1103:29: danger: ‘fopen(NameBuff, "w")’ leaks here; was opened at [(3)](sarif:/runs/0/results/27/codeFlows/0/threadFlows/0/locations/2)
# 1101|   			    break;
# 1102|   			}
# 1103|-> 			s = alloc(p2 - p1 + STRLEN(fname) + 2);
# 1104|   			if (s == NULL)
# 1105|   			{

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/help.c:1103:29: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(NameBuff, "w")’
vim91/src/help.c:977:8: branch_false: following ‘false’ branch...
vim91/src/help.c:991:15: acquire_memory: allocated here
vim91/src/help.c:992:8: branch_false: following ‘false’ branch...
vim91/src/help.c:1002:5: branch_false: ...to here
vim91/src/help.c:1023:18: branch_true: following ‘true’ branch...
vim91/src/help.c:1026:12: branch_false: following ‘false’ branch...
vim91/src/help.c:1031:22: branch_false: ...to here
vim91/src/help.c:1035:16: branch_true: following ‘true’ branch...
vim91/src/help.c:1037:16: branch_true: following ‘true’ branch (when ‘firstline != 0’)...
vim91/src/help.c:1041:22: branch_true: ...to here
vim91/src/help.c:1058:20: branch_true: following ‘true’ branch (when ‘utf8 == 2’)...
vim91/src/help.c:1068:16: branch_true: ...to here
vim91/src/help.c:1068:16: branch_false: following ‘false’ branch (when ‘in_example == 0’)...
vim91/src/help.c:1075:18: branch_false: ...to here
vim91/src/help.c:1076:20: branch_true: following ‘true’ branch (when ‘p1’ is non-NULL)...
vim91/src/help.c:1081:22: branch_true: ...to here
vim91/src/help.c:1082:20: branch_true: following ‘true’ branch...
vim91/src/help.c:1084:38: branch_true: following ‘true’ branch...
vim91/src/help.c:1085:29: branch_true: ...to here
vim91/src/help.c:1091:24: branch_true: following ‘true’ branch...
vim91/src/help.c:1092:33: branch_true: ...to here
vim91/src/help.c:1098:28: branch_false: following ‘false’ branch...
vim91/src/help.c:1103:35: branch_false: ...to here
vim91/src/help.c:1103:29: danger: ‘fopen(NameBuff, "w")’ leaks here; was allocated at [(3)](sarif:/runs/0/results/28/codeFlows/0/threadFlows/0/locations/2)
# 1101|   			    break;
# 1102|   			}
# 1103|-> 			s = alloc(p2 - p1 + STRLEN(fname) + 2);
# 1104|   			if (s == NULL)
# 1105|   			{

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/help.c:1114:30: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(NameBuff, "w")’
vim91/src/help.c:977:8: branch_false: following ‘false’ branch...
vim91/src/help.c:991:15: acquire_resource: opened here
vim91/src/help.c:992:8: branch_false: following ‘false’ branch...
vim91/src/help.c:1002:5: branch_false: ...to here
vim91/src/help.c:1023:18: branch_true: following ‘true’ branch...
vim91/src/help.c:1026:12: branch_false: following ‘false’ branch...
vim91/src/help.c:1031:22: branch_false: ...to here
vim91/src/help.c:1035:16: branch_true: following ‘true’ branch...
vim91/src/help.c:1037:16: branch_true: following ‘true’ branch (when ‘firstline != 0’)...
vim91/src/help.c:1041:22: branch_true: ...to here
vim91/src/help.c:1058:20: branch_true: following ‘true’ branch (when ‘utf8 == 2’)...
vim91/src/help.c:1068:16: branch_true: ...to here
vim91/src/help.c:1068:16: branch_false: following ‘false’ branch (when ‘in_example == 0’)...
vim91/src/help.c:1075:18: branch_false: ...to here
vim91/src/help.c:1076:20: branch_true: following ‘true’ branch (when ‘p1’ is non-NULL)...
vim91/src/help.c:1081:22: branch_true: ...to here
vim91/src/help.c:1082:20: branch_true: following ‘true’ branch...
vim91/src/help.c:1082:21: branch_true: ...to here
vim91/src/help.c:1084:38: branch_true: following ‘true’ branch...
vim91/src/help.c:1085:29: branch_true: ...to here
vim91/src/help.c:1098:28: branch_false: following ‘false’ branch...
vim91/src/help.c:1103:35: branch_false: ...to here
vim91/src/help.c:1104:28: branch_false: following ‘false’ branch...
vim91/src/help.c:1109:37: branch_false: ...to here
vim91/src/help.c:1114:30: danger: ‘fopen(NameBuff, "w")’ leaks here; was opened at [(3)](sarif:/runs/0/results/29/codeFlows/0/threadFlows/0/locations/2)
# 1112|   
# 1113|   			// find next '*'
# 1114|-> 			p2 = vim_strchr(p2 + 1, '*');
# 1115|   		    }
# 1116|   		}

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/help.c:1114:30: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(NameBuff, "w")’
vim91/src/help.c:977:8: branch_false: following ‘false’ branch...
vim91/src/help.c:991:15: acquire_memory: allocated here
vim91/src/help.c:992:8: branch_false: following ‘false’ branch...
vim91/src/help.c:1002:5: branch_false: ...to here
vim91/src/help.c:1023:18: branch_true: following ‘true’ branch...
vim91/src/help.c:1026:12: branch_false: following ‘false’ branch...
vim91/src/help.c:1031:22: branch_false: ...to here
vim91/src/help.c:1035:16: branch_true: following ‘true’ branch...
vim91/src/help.c:1037:16: branch_true: following ‘true’ branch (when ‘firstline != 0’)...
vim91/src/help.c:1041:22: branch_true: ...to here
vim91/src/help.c:1058:20: branch_true: following ‘true’ branch (when ‘utf8 == 2’)...
vim91/src/help.c:1068:16: branch_true: ...to here
vim91/src/help.c:1068:16: branch_false: following ‘false’ branch (when ‘in_example == 0’)...
vim91/src/help.c:1075:18: branch_false: ...to here
vim91/src/help.c:1076:20: branch_true: following ‘true’ branch (when ‘p1’ is non-NULL)...
vim91/src/help.c:1081:22: branch_true: ...to here
vim91/src/help.c:1082:20: branch_true: following ‘true’ branch...
vim91/src/help.c:1082:21: branch_true: ...to here
vim91/src/help.c:1084:38: branch_true: following ‘true’ branch...
vim91/src/help.c:1085:29: branch_true: ...to here
vim91/src/help.c:1098:28: branch_false: following ‘false’ branch...
vim91/src/help.c:1103:35: branch_false: ...to here
vim91/src/help.c:1104:28: branch_false: following ‘false’ branch...
vim91/src/help.c:1109:37: branch_false: ...to here
vim91/src/help.c:1114:30: danger: ‘fopen(NameBuff, "w")’ leaks here; was allocated at [(3)](sarif:/runs/0/results/30/codeFlows/0/threadFlows/0/locations/2)
# 1112|   
# 1113|   			// find next '*'
# 1114|-> 			p2 = vim_strchr(p2 + 1, '*');
# 1115|   		    }
# 1116|   		}

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/help.c:1129:13: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(NameBuff, "w")’
vim91/src/help.c:977:8: branch_false: following ‘false’ branch...
vim91/src/help.c:991:15: acquire_resource: opened here
vim91/src/help.c:992:8: branch_false: following ‘false’ branch...
vim91/src/help.c:1002:5: branch_false: ...to here
vim91/src/help.c:1023:18: branch_true: following ‘true’ branch...
vim91/src/help.c:1026:12: branch_false: following ‘false’ branch...
vim91/src/help.c:1031:22: branch_false: ...to here
vim91/src/help.c:1035:16: branch_true: following ‘true’ branch...
vim91/src/help.c:1037:16: branch_true: following ‘true’ branch (when ‘firstline != 0’)...
vim91/src/help.c:1041:22: branch_true: ...to here
vim91/src/help.c:1058:20: branch_true: following ‘true’ branch (when ‘utf8 == 2’)...
vim91/src/help.c:1068:16: branch_true: ...to here
vim91/src/help.c:1068:16: branch_false: following ‘false’ branch (when ‘in_example == 0’)...
vim91/src/help.c:1075:18: branch_false: ...to here
vim91/src/help.c:1129:13: danger: ‘fopen(NameBuff, "w")’ leaks here; was opened at [(3)](sarif:/runs/0/results/31/codeFlows/0/threadFlows/0/locations/2)
# 1127|   		    in_example = TRUE;
# 1128|   	    }
# 1129|-> 	    line_breakcheck();
# 1130|   	}
# 1131|   

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/help.c:1129:13: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(NameBuff, "w")’
vim91/src/help.c:977:8: branch_false: following ‘false’ branch...
vim91/src/help.c:991:15: acquire_memory: allocated here
vim91/src/help.c:992:8: branch_false: following ‘false’ branch...
vim91/src/help.c:1002:5: branch_false: ...to here
vim91/src/help.c:1023:18: branch_true: following ‘true’ branch...
vim91/src/help.c:1026:12: branch_false: following ‘false’ branch...
vim91/src/help.c:1031:22: branch_false: ...to here
vim91/src/help.c:1035:16: branch_true: following ‘true’ branch...
vim91/src/help.c:1037:16: branch_true: following ‘true’ branch (when ‘firstline != 0’)...
vim91/src/help.c:1041:22: branch_true: ...to here
vim91/src/help.c:1058:20: branch_true: following ‘true’ branch (when ‘utf8 == 2’)...
vim91/src/help.c:1068:16: branch_true: ...to here
vim91/src/help.c:1068:16: branch_false: following ‘false’ branch (when ‘in_example == 0’)...
vim91/src/help.c:1075:18: branch_false: ...to here
vim91/src/help.c:1129:13: danger: ‘fopen(NameBuff, "w")’ leaks here; was allocated at [(3)](sarif:/runs/0/results/32/codeFlows/0/threadFlows/0/locations/2)
# 1127|   		    in_example = TRUE;
# 1128|   	    }
# 1129|-> 	    line_breakcheck();
# 1130|   	}
# 1131|   

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/help.c:1135:5: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(NameBuff, "w")’
vim91/src/help.c:977:8: branch_false: following ‘false’ branch...
vim91/src/help.c:991:15: acquire_resource: opened here
vim91/src/help.c:992:8: branch_false: following ‘false’ branch...
vim91/src/help.c:1002:5: branch_false: ...to here
vim91/src/help.c:1135:5: danger: ‘fopen(NameBuff, "w")’ leaks here; was opened at [(3)](sarif:/runs/0/results/33/codeFlows/0/threadFlows/0/locations/2)
# 1133|       }
# 1134|   
# 1135|->     FreeWild(filecount, files);
# 1136|   
# 1137|       if (!got_int)

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/help.c:1135:5: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(NameBuff, "w")’
vim91/src/help.c:977:8: branch_false: following ‘false’ branch...
vim91/src/help.c:991:15: acquire_memory: allocated here
vim91/src/help.c:992:8: branch_false: following ‘false’ branch...
vim91/src/help.c:1002:5: branch_false: ...to here
vim91/src/help.c:1135:5: danger: ‘fopen(NameBuff, "w")’ leaks here; was allocated at [(3)](sarif:/runs/0/results/34/codeFlows/0/threadFlows/0/locations/2)
# 1133|       }
# 1134|   
# 1135|->     FreeWild(filecount, files);
# 1136|   
# 1137|       if (!got_int)

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/help.c:1141:13: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(NameBuff, "w")’
vim91/src/help.c:977:8: branch_false: following ‘false’ branch...
vim91/src/help.c:991:15: acquire_resource: opened here
vim91/src/help.c:992:8: branch_false: following ‘false’ branch...
vim91/src/help.c:1002:5: branch_false: ...to here
vim91/src/help.c:1137:8: branch_true: following ‘true’ branch...
vim91/src/help.c:1140:13: branch_true: ...to here
vim91/src/help.c:1140:12: branch_true: following ‘true’ branch...
vim91/src/help.c:1141:13: branch_true: ...to here
vim91/src/help.c:1141:13: danger: ‘fopen(NameBuff, "w")’ leaks here; was opened at [(3)](sarif:/runs/0/results/35/codeFlows/0/threadFlows/0/locations/2)
# 1139|   	// Sort the tags.
# 1140|   	if (ga.ga_data != NULL)
# 1141|-> 	    sort_strings((char_u **)ga.ga_data, ga.ga_len);
# 1142|   
# 1143|   	// Check for duplicates.

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/help.c:1141:13: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(NameBuff, "w")’
vim91/src/help.c:977:8: branch_false: following ‘false’ branch...
vim91/src/help.c:991:15: acquire_memory: allocated here
vim91/src/help.c:992:8: branch_false: following ‘false’ branch...
vim91/src/help.c:1002:5: branch_false: ...to here
vim91/src/help.c:1137:8: branch_true: following ‘true’ branch...
vim91/src/help.c:1140:13: branch_true: ...to here
vim91/src/help.c:1140:12: branch_true: following ‘true’ branch...
vim91/src/help.c:1141:13: branch_true: ...to here
vim91/src/help.c:1141:13: danger: ‘fopen(NameBuff, "w")’ leaks here; was allocated at [(3)](sarif:/runs/0/results/36/codeFlows/0/threadFlows/0/locations/2)
# 1139|   	// Sort the tags.
# 1140|   	if (ga.ga_data != NULL)
# 1141|-> 	    sort_strings((char_u **)ga.ga_data, ga.ga_len);
# 1142|   
# 1143|   	// Check for duplicates.

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/help.c:1153:21: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(NameBuff, "w")’
vim91/src/help.c:977:8: branch_false: following ‘false’ branch...
vim91/src/help.c:991:15: acquire_resource: opened here
vim91/src/help.c:992:8: branch_false: following ‘false’ branch...
vim91/src/help.c:1002:5: branch_false: ...to here
vim91/src/help.c:1137:8: branch_true: following ‘true’ branch...
vim91/src/help.c:1140:13: branch_true: ...to here
vim91/src/help.c:1144:21: branch_true: following ‘true’ branch...
vim91/src/help.c:1146:30: branch_true: ...to here
vim91/src/help.c:1148:20: branch_true: following ‘true’ branch...
vim91/src/help.c:1150:20: branch_true: ...to here
vim91/src/help.c:1153:21: danger: ‘fopen(NameBuff, "w")’ leaks here; was opened at [(3)](sarif:/runs/0/results/37/codeFlows/0/threadFlows/0/locations/2)
# 1151|   		{
# 1152|   		    *p2 = NUL;
# 1153|-> 		    vim_snprintf((char *)NameBuff, MAXPATHL,
# 1154|   			    _(e_duplicate_tag_str_in_file_str_str),
# 1155|   				     ((char_u **)ga.ga_data)[i], dir, p2 + 1);

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/help.c:1153:21: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(NameBuff, "w")’
vim91/src/help.c:977:8: branch_false: following ‘false’ branch...
vim91/src/help.c:991:15: acquire_memory: allocated here
vim91/src/help.c:992:8: branch_false: following ‘false’ branch...
vim91/src/help.c:1002:5: branch_false: ...to here
vim91/src/help.c:1137:8: branch_true: following ‘true’ branch...
vim91/src/help.c:1140:13: branch_true: ...to here
vim91/src/help.c:1144:21: branch_true: following ‘true’ branch...
vim91/src/help.c:1146:30: branch_true: ...to here
vim91/src/help.c:1148:20: branch_true: following ‘true’ branch...
vim91/src/help.c:1150:20: branch_true: ...to here
vim91/src/help.c:1153:21: danger: ‘fopen(NameBuff, "w")’ leaks here; was allocated at [(3)](sarif:/runs/0/results/38/codeFlows/0/threadFlows/0/locations/2)
# 1151|   		{
# 1152|   		    *p2 = NUL;
# 1153|-> 		    vim_snprintf((char *)NameBuff, MAXPATHL,
# 1154|   			    _(e_duplicate_tag_str_in_file_str_str),
# 1155|   				     ((char_u **)ga.ga_data)[i], dir, p2 + 1);

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/help.c:1156:21: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(NameBuff, "w")’
vim91/src/help.c:977:8: branch_false: following ‘false’ branch...
vim91/src/help.c:991:15: acquire_resource: opened here
vim91/src/help.c:992:8: branch_false: following ‘false’ branch...
vim91/src/help.c:1002:5: branch_false: ...to here
vim91/src/help.c:1137:8: branch_true: following ‘true’ branch...
vim91/src/help.c:1140:13: branch_true: ...to here
vim91/src/help.c:1144:21: branch_true: following ‘true’ branch...
vim91/src/help.c:1146:30: branch_true: ...to here
vim91/src/help.c:1148:20: branch_true: following ‘true’ branch...
vim91/src/help.c:1150:20: branch_true: ...to here
vim91/src/help.c:1156:21: danger: ‘fopen(NameBuff, "w")’ leaks here; was opened at [(3)](sarif:/runs/0/results/39/codeFlows/0/threadFlows/0/locations/2)
# 1154|   			    _(e_duplicate_tag_str_in_file_str_str),
# 1155|   				     ((char_u **)ga.ga_data)[i], dir, p2 + 1);
# 1156|-> 		    emsg((char *)NameBuff);
# 1157|   		    *p2 = '\t';
# 1158|   		    break;

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/help.c:1156:21: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(NameBuff, "w")’
vim91/src/help.c:977:8: branch_false: following ‘false’ branch...
vim91/src/help.c:991:15: acquire_memory: allocated here
vim91/src/help.c:992:8: branch_false: following ‘false’ branch...
vim91/src/help.c:1002:5: branch_false: ...to here
vim91/src/help.c:1137:8: branch_true: following ‘true’ branch...
vim91/src/help.c:1140:13: branch_true: ...to here
vim91/src/help.c:1144:21: branch_true: following ‘true’ branch...
vim91/src/help.c:1146:30: branch_true: ...to here
vim91/src/help.c:1148:20: branch_true: following ‘true’ branch...
vim91/src/help.c:1150:20: branch_true: ...to here
vim91/src/help.c:1156:21: danger: ‘fopen(NameBuff, "w")’ leaks here; was allocated at [(3)](sarif:/runs/0/results/40/codeFlows/0/threadFlows/0/locations/2)
# 1154|   			    _(e_duplicate_tag_str_in_file_str_str),
# 1155|   				     ((char_u **)ga.ga_data)[i], dir, p2 + 1);
# 1156|-> 		    emsg((char *)NameBuff);
# 1157|   		    *p2 = '\t';
# 1158|   		    break;

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/help.c:1193:9: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(NameBuff, "w")’
vim91/src/help.c:977:8: branch_false: following ‘false’ branch...
vim91/src/help.c:991:15: acquire_resource: opened here
vim91/src/help.c:992:8: branch_false: following ‘false’ branch...
vim91/src/help.c:1002:5: branch_false: ...to here
vim91/src/help.c:1192:17: branch_true: following ‘true’ branch...
vim91/src/help.c:1193:30: branch_true: ...to here
vim91/src/help.c:1193:9: danger: ‘fopen(NameBuff, "w")’ leaks here; was opened at [(3)](sarif:/runs/0/results/41/codeFlows/0/threadFlows/0/locations/2)
# 1191|   
# 1192|       for (i = 0; i < ga.ga_len; ++i)
# 1193|-> 	vim_free(((char_u **)ga.ga_data)[i]);
# 1194|       ga_clear(&ga);
# 1195|       fclose(fd_tags);	    // there is no check for an error...

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/help.c:1193:9: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(NameBuff, "w")’
vim91/src/help.c:977:8: branch_false: following ‘false’ branch...
vim91/src/help.c:991:15: acquire_memory: allocated here
vim91/src/help.c:992:8: branch_false: following ‘false’ branch...
vim91/src/help.c:1002:5: branch_false: ...to here
vim91/src/help.c:1192:17: branch_true: following ‘true’ branch...
vim91/src/help.c:1193:30: branch_true: ...to here
vim91/src/help.c:1193:9: danger: ‘fopen(NameBuff, "w")’ leaks here; was allocated at [(3)](sarif:/runs/0/results/42/codeFlows/0/threadFlows/0/locations/2)
# 1191|   
# 1192|       for (i = 0; i < ga.ga_len; ++i)
# 1193|-> 	vim_free(((char_u **)ga.ga_data)[i]);
# 1194|       ga_clear(&ga);
# 1195|       fclose(fd_tags);	    // there is no check for an error...

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/help.c:1194:5: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(NameBuff, "w")’
vim91/src/help.c:977:8: branch_false: following ‘false’ branch...
vim91/src/help.c:991:15: acquire_resource: opened here
vim91/src/help.c:992:8: branch_false: following ‘false’ branch...
vim91/src/help.c:1002:5: branch_false: ...to here
vim91/src/help.c:1194:5: danger: ‘fopen(NameBuff, "w")’ leaks here; was opened at [(3)](sarif:/runs/0/results/43/codeFlows/0/threadFlows/0/locations/2)
# 1192|       for (i = 0; i < ga.ga_len; ++i)
# 1193|   	vim_free(((char_u **)ga.ga_data)[i]);
# 1194|->     ga_clear(&ga);
# 1195|       fclose(fd_tags);	    // there is no check for an error...
# 1196|   }

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/help.c:1194:5: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(NameBuff, "w")’
vim91/src/help.c:977:8: branch_false: following ‘false’ branch...
vim91/src/help.c:991:15: acquire_memory: allocated here
vim91/src/help.c:992:8: branch_false: following ‘false’ branch...
vim91/src/help.c:1002:5: branch_false: ...to here
vim91/src/help.c:1194:5: danger: ‘fopen(NameBuff, "w")’ leaks here; was allocated at [(3)](sarif:/runs/0/results/44/codeFlows/0/threadFlows/0/locations/2)
# 1192|       for (i = 0; i < ga.ga_len; ++i)
# 1193|   	vim_free(((char_u **)ga.ga_data)[i]);
# 1194|->     ga_clear(&ga);
# 1195|       fclose(fd_tags);	    // there is no check for an error...
# 1196|   }

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

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

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/if_cscope.c:851:15: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘to_cs[0]’
vim91/src/if_cscope.c:849:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:849:28: branch_false: ...to here
vim91/src/if_cscope.c:849:9: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:851:15: branch_true: ...to here
vim91/src/if_cscope.c:851:15: danger: ‘to_cs[0]’ leaks here
#  849|       if (pipe(to_cs) < 0 || pipe(from_cs) < 0)
#  850|       {
#  851|-> 	(void)emsg(_(e_could_not_create_cscope_pipes));
#  852|   err_closing:
#  853|   	if (to_cs[0] != -1)

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/if_cscope.c:851:15: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘to_cs[1]’
vim91/src/if_cscope.c:849:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:849:28: branch_false: ...to here
vim91/src/if_cscope.c:849:9: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:851:15: branch_true: ...to here
vim91/src/if_cscope.c:851:15: danger: ‘to_cs[1]’ leaks here
#  849|       if (pipe(to_cs) < 0 || pipe(from_cs) < 0)
#  850|       {
#  851|-> 	(void)emsg(_(e_could_not_create_cscope_pipes));
#  852|   err_closing:
#  853|   	if (to_cs[0] != -1)

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/if_cscope.c:854:19: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘from_cs[0]’
vim91/src/if_cscope.c:849:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:849:28: branch_false: ...to here
vim91/src/if_cscope.c:849:9: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:864:16: branch_false: ...to here
vim91/src/if_cscope.c:864:8: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:866:15: branch_true: ...to here
vim91/src/if_cscope.c:853:12: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:854:19: branch_true: ...to here
vim91/src/if_cscope.c:854:19: danger: ‘from_cs[0]’ leaks here
#  852|   err_closing:
#  853|   	if (to_cs[0] != -1)
#  854|-> 	    (void)close(to_cs[0]);
#  855|   	if (to_cs[1] != -1)
#  856|   	    (void)close(to_cs[1]);

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/if_cscope.c:854:19: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘from_cs[1]’
vim91/src/if_cscope.c:849:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:849:28: branch_false: ...to here
vim91/src/if_cscope.c:849:9: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:864:16: branch_false: ...to here
vim91/src/if_cscope.c:864:8: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:866:15: branch_true: ...to here
vim91/src/if_cscope.c:853:12: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:854:19: branch_true: ...to here
vim91/src/if_cscope.c:854:19: danger: ‘from_cs[1]’ leaks here
#  852|   err_closing:
#  853|   	if (to_cs[0] != -1)
#  854|-> 	    (void)close(to_cs[0]);
#  855|   	if (to_cs[1] != -1)
#  856|   	    (void)close(to_cs[1]);

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/if_cscope.c:854:19: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘to_cs[0]’
vim91/src/if_cscope.c:849:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:849:28: branch_false: ...to here
vim91/src/if_cscope.c:849:9: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:851:15: branch_true: ...to here
vim91/src/if_cscope.c:853:12: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:854:19: branch_true: ...to here
vim91/src/if_cscope.c:854:19: danger: ‘to_cs[0]’ leaks here
#  852|   err_closing:
#  853|   	if (to_cs[0] != -1)
#  854|-> 	    (void)close(to_cs[0]);
#  855|   	if (to_cs[1] != -1)
#  856|   	    (void)close(to_cs[1]);

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/if_cscope.c:854:19: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘to_cs[1]’
vim91/src/if_cscope.c:849:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:849:28: branch_false: ...to here
vim91/src/if_cscope.c:849:9: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:851:15: branch_true: ...to here
vim91/src/if_cscope.c:853:12: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:854:19: branch_true: ...to here
vim91/src/if_cscope.c:854:19: danger: ‘to_cs[1]’ leaks here
#  852|   err_closing:
#  853|   	if (to_cs[0] != -1)
#  854|-> 	    (void)close(to_cs[0]);
#  855|   	if (to_cs[1] != -1)
#  856|   	    (void)close(to_cs[1]);

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/if_cscope.c:856:19: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘from_cs[0]’
vim91/src/if_cscope.c:849:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:849:28: branch_false: ...to here
vim91/src/if_cscope.c:849:9: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:864:16: branch_false: ...to here
vim91/src/if_cscope.c:864:8: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:866:15: branch_true: ...to here
vim91/src/if_cscope.c:853:12: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:855:13: branch_false: ...to here
vim91/src/if_cscope.c:855:12: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:856:19: branch_true: ...to here
vim91/src/if_cscope.c:856:19: danger: ‘from_cs[0]’ leaks here
#  854|   	    (void)close(to_cs[0]);
#  855|   	if (to_cs[1] != -1)
#  856|-> 	    (void)close(to_cs[1]);
#  857|   	if (from_cs[0] != -1)
#  858|   	    (void)close(from_cs[0]);

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/if_cscope.c:856:19: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘from_cs[1]’
vim91/src/if_cscope.c:849:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:849:28: branch_false: ...to here
vim91/src/if_cscope.c:849:9: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:864:16: branch_false: ...to here
vim91/src/if_cscope.c:864:8: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:866:15: branch_true: ...to here
vim91/src/if_cscope.c:853:12: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:855:13: branch_false: ...to here
vim91/src/if_cscope.c:855:12: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:856:19: branch_true: ...to here
vim91/src/if_cscope.c:856:19: danger: ‘from_cs[1]’ leaks here
#  854|   	    (void)close(to_cs[0]);
#  855|   	if (to_cs[1] != -1)
#  856|-> 	    (void)close(to_cs[1]);
#  857|   	if (from_cs[0] != -1)
#  858|   	    (void)close(from_cs[0]);

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/if_cscope.c:856:19: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘to_cs[0]’
vim91/src/if_cscope.c:849:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:849:28: branch_false: ...to here
vim91/src/if_cscope.c:849:9: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:851:15: branch_true: ...to here
vim91/src/if_cscope.c:853:12: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:855:13: branch_false: ...to here
vim91/src/if_cscope.c:855:12: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:856:19: branch_true: ...to here
vim91/src/if_cscope.c:856:19: danger: ‘to_cs[0]’ leaks here
#  854|   	    (void)close(to_cs[0]);
#  855|   	if (to_cs[1] != -1)
#  856|-> 	    (void)close(to_cs[1]);
#  857|   	if (from_cs[0] != -1)
#  858|   	    (void)close(from_cs[0]);

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/if_cscope.c:856:19: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘to_cs[1]’
vim91/src/if_cscope.c:849:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:849:28: branch_false: ...to here
vim91/src/if_cscope.c:849:9: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:851:15: branch_true: ...to here
vim91/src/if_cscope.c:853:12: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:855:13: branch_false: ...to here
vim91/src/if_cscope.c:855:12: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:856:19: branch_true: ...to here
vim91/src/if_cscope.c:856:19: danger: ‘to_cs[1]’ leaks here
#  854|   	    (void)close(to_cs[0]);
#  855|   	if (to_cs[1] != -1)
#  856|-> 	    (void)close(to_cs[1]);
#  857|   	if (from_cs[0] != -1)
#  858|   	    (void)close(from_cs[0]);

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/if_cscope.c:858:19: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘from_cs[0]’
vim91/src/if_cscope.c:849:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:849:28: branch_false: ...to here
vim91/src/if_cscope.c:849:9: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:864:16: branch_false: ...to here
vim91/src/if_cscope.c:864:8: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:866:15: branch_true: ...to here
vim91/src/if_cscope.c:853:12: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:855:13: branch_false: ...to here
vim91/src/if_cscope.c:855:12: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:857:13: branch_false: ...to here
vim91/src/if_cscope.c:857:12: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:858:19: branch_true: ...to here
vim91/src/if_cscope.c:858:19: danger: ‘from_cs[0]’ leaks here
#  856|   	    (void)close(to_cs[1]);
#  857|   	if (from_cs[0] != -1)
#  858|-> 	    (void)close(from_cs[0]);
#  859|   	if (from_cs[1] != -1)
#  860|   	    (void)close(from_cs[1]);

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/if_cscope.c:858:19: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘from_cs[1]’
vim91/src/if_cscope.c:849:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:849:28: branch_false: ...to here
vim91/src/if_cscope.c:849:9: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:864:16: branch_false: ...to here
vim91/src/if_cscope.c:864:8: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:866:15: branch_true: ...to here
vim91/src/if_cscope.c:853:12: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:855:13: branch_false: ...to here
vim91/src/if_cscope.c:855:12: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:857:13: branch_false: ...to here
vim91/src/if_cscope.c:857:12: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:858:19: branch_true: ...to here
vim91/src/if_cscope.c:858:19: danger: ‘from_cs[1]’ leaks here
#  856|   	    (void)close(to_cs[1]);
#  857|   	if (from_cs[0] != -1)
#  858|-> 	    (void)close(from_cs[0]);
#  859|   	if (from_cs[1] != -1)
#  860|   	    (void)close(from_cs[1]);

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/if_cscope.c:858:19: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘to_cs[0]’
vim91/src/if_cscope.c:849:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:849:28: branch_false: ...to here
vim91/src/if_cscope.c:849:9: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:864:16: branch_false: ...to here
vim91/src/if_cscope.c:864:8: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:866:15: branch_true: ...to here
vim91/src/if_cscope.c:853:12: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:855:13: branch_false: ...to here
vim91/src/if_cscope.c:855:12: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:857:13: branch_false: ...to here
vim91/src/if_cscope.c:857:12: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:858:19: branch_true: ...to here
vim91/src/if_cscope.c:858:19: danger: ‘to_cs[0]’ leaks here
#  856|   	    (void)close(to_cs[1]);
#  857|   	if (from_cs[0] != -1)
#  858|-> 	    (void)close(from_cs[0]);
#  859|   	if (from_cs[1] != -1)
#  860|   	    (void)close(from_cs[1]);

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/if_cscope.c:858:19: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘to_cs[1]’
vim91/src/if_cscope.c:849:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:849:28: branch_false: ...to here
vim91/src/if_cscope.c:849:9: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:864:16: branch_false: ...to here
vim91/src/if_cscope.c:864:8: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:866:15: branch_true: ...to here
vim91/src/if_cscope.c:853:12: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:855:13: branch_false: ...to here
vim91/src/if_cscope.c:855:12: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:857:13: branch_false: ...to here
vim91/src/if_cscope.c:857:12: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:858:19: branch_true: ...to here
vim91/src/if_cscope.c:858:19: danger: ‘to_cs[1]’ leaks here
#  856|   	    (void)close(to_cs[1]);
#  857|   	if (from_cs[0] != -1)
#  858|-> 	    (void)close(from_cs[0]);
#  859|   	if (from_cs[1] != -1)
#  860|   	    (void)close(from_cs[1]);

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/if_cscope.c:860:19: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘from_cs[0]’
vim91/src/if_cscope.c:849:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:849:28: branch_false: ...to here
vim91/src/if_cscope.c:849:9: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:864:16: branch_false: ...to here
vim91/src/if_cscope.c:864:8: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:866:15: branch_true: ...to here
vim91/src/if_cscope.c:853:12: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:855:13: branch_false: ...to here
vim91/src/if_cscope.c:855:12: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:857:13: branch_false: ...to here
vim91/src/if_cscope.c:857:12: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:859:13: branch_false: ...to here
vim91/src/if_cscope.c:859:12: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:860:19: branch_true: ...to here
vim91/src/if_cscope.c:860:19: danger: ‘from_cs[0]’ leaks here
#  858|   	    (void)close(from_cs[0]);
#  859|   	if (from_cs[1] != -1)
#  860|-> 	    (void)close(from_cs[1]);
#  861|   	return CSCOPE_FAILURE;
#  862|       }

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/if_cscope.c:860:19: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘from_cs[1]’
vim91/src/if_cscope.c:849:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:849:28: branch_false: ...to here
vim91/src/if_cscope.c:849:9: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:864:16: branch_false: ...to here
vim91/src/if_cscope.c:864:8: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:866:15: branch_true: ...to here
vim91/src/if_cscope.c:853:12: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:855:13: branch_false: ...to here
vim91/src/if_cscope.c:855:12: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:857:13: branch_false: ...to here
vim91/src/if_cscope.c:857:12: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:859:13: branch_false: ...to here
vim91/src/if_cscope.c:859:12: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:860:19: branch_true: ...to here
vim91/src/if_cscope.c:860:19: danger: ‘from_cs[1]’ leaks here
#  858|   	    (void)close(from_cs[0]);
#  859|   	if (from_cs[1] != -1)
#  860|-> 	    (void)close(from_cs[1]);
#  861|   	return CSCOPE_FAILURE;
#  862|       }

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/if_cscope.c:860:19: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘to_cs[0]’
vim91/src/if_cscope.c:849:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:849:28: branch_false: ...to here
vim91/src/if_cscope.c:849:9: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:864:16: branch_false: ...to here
vim91/src/if_cscope.c:864:8: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:866:15: branch_true: ...to here
vim91/src/if_cscope.c:853:12: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:855:13: branch_false: ...to here
vim91/src/if_cscope.c:855:12: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:857:13: branch_false: ...to here
vim91/src/if_cscope.c:857:12: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:859:13: branch_false: ...to here
vim91/src/if_cscope.c:859:12: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:860:19: branch_true: ...to here
vim91/src/if_cscope.c:860:19: danger: ‘to_cs[0]’ leaks here
#  858|   	    (void)close(from_cs[0]);
#  859|   	if (from_cs[1] != -1)
#  860|-> 	    (void)close(from_cs[1]);
#  861|   	return CSCOPE_FAILURE;
#  862|       }

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/if_cscope.c:860:19: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘to_cs[1]’
vim91/src/if_cscope.c:849:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:849:28: branch_false: ...to here
vim91/src/if_cscope.c:849:9: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:864:16: branch_false: ...to here
vim91/src/if_cscope.c:864:8: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:866:15: branch_true: ...to here
vim91/src/if_cscope.c:853:12: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:855:13: branch_false: ...to here
vim91/src/if_cscope.c:855:12: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:857:13: branch_false: ...to here
vim91/src/if_cscope.c:857:12: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:859:13: branch_false: ...to here
vim91/src/if_cscope.c:859:12: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:860:19: branch_true: ...to here
vim91/src/if_cscope.c:860:19: danger: ‘to_cs[1]’ leaks here
#  858|   	    (void)close(from_cs[0]);
#  859|   	if (from_cs[1] != -1)
#  860|-> 	    (void)close(from_cs[1]);
#  861|   	return CSCOPE_FAILURE;
#  862|       }

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/if_cscope.c:861:16: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘from_cs[0]’
vim91/src/if_cscope.c:849:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:849:28: branch_false: ...to here
vim91/src/if_cscope.c:849:9: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:864:16: branch_false: ...to here
vim91/src/if_cscope.c:864:8: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:866:15: branch_true: ...to here
vim91/src/if_cscope.c:857:12: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:859:13: branch_false: ...to here
vim91/src/if_cscope.c:859:12: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:861:16: branch_false: ...to here
vim91/src/if_cscope.c:861:16: danger: ‘from_cs[0]’ leaks here
#  859|   	if (from_cs[1] != -1)
#  860|   	    (void)close(from_cs[1]);
#  861|-> 	return CSCOPE_FAILURE;
#  862|       }
#  863|   

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/if_cscope.c:861:16: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘from_cs[1]’
vim91/src/if_cscope.c:849:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:849:28: branch_false: ...to here
vim91/src/if_cscope.c:849:9: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:864:16: branch_false: ...to here
vim91/src/if_cscope.c:864:8: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:866:15: branch_true: ...to here
vim91/src/if_cscope.c:857:12: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:859:13: branch_false: ...to here
vim91/src/if_cscope.c:859:12: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:861:16: branch_false: ...to here
vim91/src/if_cscope.c:861:16: danger: ‘from_cs[1]’ leaks here
#  859|   	if (from_cs[1] != -1)
#  860|   	    (void)close(from_cs[1]);
#  861|-> 	return CSCOPE_FAILURE;
#  862|       }
#  863|   

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/if_cscope.c:861:16: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘to_cs[0]’
vim91/src/if_cscope.c:849:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:849:28: branch_false: ...to here
vim91/src/if_cscope.c:849:9: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:851:15: branch_true: ...to here
vim91/src/if_cscope.c:853:12: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:855:13: branch_false: ...to here
vim91/src/if_cscope.c:855:12: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:857:13: branch_false: ...to here
vim91/src/if_cscope.c:857:12: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:859:13: branch_false: ...to here
vim91/src/if_cscope.c:859:12: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:861:16: branch_false: ...to here
vim91/src/if_cscope.c:861:16: danger: ‘to_cs[0]’ leaks here
#  859|   	if (from_cs[1] != -1)
#  860|   	    (void)close(from_cs[1]);
#  861|-> 	return CSCOPE_FAILURE;
#  862|       }
#  863|   

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/if_cscope.c:861:16: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘to_cs[1]’
vim91/src/if_cscope.c:849:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:849:28: branch_false: ...to here
vim91/src/if_cscope.c:849:9: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:851:15: branch_true: ...to here
vim91/src/if_cscope.c:853:12: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:855:13: branch_false: ...to here
vim91/src/if_cscope.c:855:12: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:857:13: branch_false: ...to here
vim91/src/if_cscope.c:857:12: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:859:13: branch_false: ...to here
vim91/src/if_cscope.c:859:12: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:861:16: branch_false: ...to here
vim91/src/if_cscope.c:861:16: danger: ‘to_cs[1]’ leaks here
#  859|   	if (from_cs[1] != -1)
#  860|   	    (void)close(from_cs[1]);
#  861|-> 	return CSCOPE_FAILURE;
#  862|       }
#  863|   

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/if_cscope.c:866:15: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘from_cs[0]’
vim91/src/if_cscope.c:849:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:849:28: branch_false: ...to here
vim91/src/if_cscope.c:849:9: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:864:16: branch_false: ...to here
vim91/src/if_cscope.c:864:8: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:866:15: branch_true: ...to here
vim91/src/if_cscope.c:866:15: danger: ‘from_cs[0]’ leaks here
#  864|       if ((csinfo[i].pid = fork()) == -1)
#  865|       {
#  866|-> 	(void)emsg(_(e_could_not_fork_for_cscope));
#  867|   	goto err_closing;
#  868|       }

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/if_cscope.c:866:15: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘from_cs[1]’
vim91/src/if_cscope.c:849:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:849:28: branch_false: ...to here
vim91/src/if_cscope.c:849:9: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:864:16: branch_false: ...to here
vim91/src/if_cscope.c:864:8: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:866:15: branch_true: ...to here
vim91/src/if_cscope.c:866:15: danger: ‘from_cs[1]’ leaks here
#  864|       if ((csinfo[i].pid = fork()) == -1)
#  865|       {
#  866|-> 	(void)emsg(_(e_could_not_fork_for_cscope));
#  867|   	goto err_closing;
#  868|       }

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/if_cscope.c:866:15: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘to_cs[0]’
vim91/src/if_cscope.c:849:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:849:28: branch_false: ...to here
vim91/src/if_cscope.c:849:9: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:864:16: branch_false: ...to here
vim91/src/if_cscope.c:864:8: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:866:15: branch_true: ...to here
vim91/src/if_cscope.c:866:15: danger: ‘to_cs[0]’ leaks here
#  864|       if ((csinfo[i].pid = fork()) == -1)
#  865|       {
#  866|-> 	(void)emsg(_(e_could_not_fork_for_cscope));
#  867|   	goto err_closing;
#  868|       }

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/if_cscope.c:866:15: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘to_cs[1]’
vim91/src/if_cscope.c:849:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:849:28: branch_false: ...to here
vim91/src/if_cscope.c:849:9: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:864:16: branch_false: ...to here
vim91/src/if_cscope.c:864:8: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:866:15: branch_true: ...to here
vim91/src/if_cscope.c:866:15: danger: ‘to_cs[1]’ leaks here
#  864|       if ((csinfo[i].pid = fork()) == -1)
#  865|       {
#  866|-> 	(void)emsg(_(e_could_not_fork_for_cscope));
#  867|   	goto err_closing;
#  868|       }

Error: GCC_ANALYZER_WARNING (CWE-775):
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:849:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:849:28: branch_false: ...to here
vim91/src/if_cscope.c:849:9: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:864:16: branch_false: ...to here
vim91/src/if_cscope.c:864:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:869:20: branch_false: ...to here
vim91/src/if_cscope.c:869:13: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:871:16: branch_true: ...to here
vim91/src/if_cscope.c:874:13: acquire_resource: opened here
vim91/src/if_cscope.c:874:12: danger: ‘dup2(to_cs[0], 0)’ leaks here; was opened at [(11)](sarif:/runs/0/results/26/codeFlows/0/threadFlows/0/locations/10)
#  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):
vim91/src/if_cscope.c:875:13: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘from_cs[1]’
vim91/src/if_cscope.c:849:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:849:28: branch_false: ...to here
vim91/src/if_cscope.c:849:9: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:864:16: branch_false: ...to here
vim91/src/if_cscope.c:864:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:869:20: branch_false: ...to here
vim91/src/if_cscope.c:869:13: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:871:16: branch_true: ...to here
vim91/src/if_cscope.c:874:12: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:875:13: branch_true: ...to here
vim91/src/if_cscope.c:875:13: danger: ‘from_cs[1]’ leaks here
#  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)
#  877|   	    PERROR("cs_create_connection 2");

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/if_cscope.c:875:13: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘from_cs[argc]’
vim91/src/if_cscope.c:849:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:849:28: branch_false: ...to here
vim91/src/if_cscope.c:849:9: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:864:16: branch_false: ...to here
vim91/src/if_cscope.c:864:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:869:20: branch_false: ...to here
vim91/src/if_cscope.c:869:13: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:871:16: branch_true: ...to here
vim91/src/if_cscope.c:874:12: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:875:13: branch_true: ...to here
vim91/src/if_cscope.c:875:13: danger: ‘from_cs[argc]’ leaks here
#  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)
#  877|   	    PERROR("cs_create_connection 2");

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/if_cscope.c:875:13: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘to_cs[1]’
vim91/src/if_cscope.c:849:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:849:28: branch_false: ...to here
vim91/src/if_cscope.c:849:9: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:864:16: branch_false: ...to here
vim91/src/if_cscope.c:864:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:869:20: branch_false: ...to here
vim91/src/if_cscope.c:869:13: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:871:16: branch_true: ...to here
vim91/src/if_cscope.c:874:12: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:875:13: branch_true: ...to here
vim91/src/if_cscope.c:875:13: danger: ‘to_cs[1]’ leaks here
#  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)
#  877|   	    PERROR("cs_create_connection 2");

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/if_cscope.c:875:13: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘to_cs[argc]’
vim91/src/if_cscope.c:849:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:849:28: branch_false: ...to here
vim91/src/if_cscope.c:849:9: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:864:16: branch_false: ...to here
vim91/src/if_cscope.c:864:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:869:20: branch_false: ...to here
vim91/src/if_cscope.c:869:13: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:871:16: branch_true: ...to here
vim91/src/if_cscope.c:874:12: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:875:13: branch_true: ...to here
vim91/src/if_cscope.c:875:13: danger: ‘to_cs[argc]’ leaks here
#  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)
#  877|   	    PERROR("cs_create_connection 2");

Error: GCC_ANALYZER_WARNING (CWE-775):
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:849:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:849:28: branch_false: ...to here
vim91/src/if_cscope.c:849:9: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:864:16: branch_false: ...to here
vim91/src/if_cscope.c:864:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:869:20: branch_false: ...to here
vim91/src/if_cscope.c:869:13: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:871:16: branch_true: ...to here
vim91/src/if_cscope.c:876:13: acquire_resource: opened here
vim91/src/if_cscope.c:876:12: danger: ‘dup2(from_cs[1], 1)’ leaks here; was opened at [(11)](sarif:/runs/0/results/31/codeFlows/0/threadFlows/0/locations/10)
#  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):
vim91/src/if_cscope.c:877:13: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘from_cs[1]’
vim91/src/if_cscope.c:849:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:849:28: branch_false: ...to here
vim91/src/if_cscope.c:849:9: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:864:16: branch_false: ...to here
vim91/src/if_cscope.c:864:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:869:20: branch_false: ...to here
vim91/src/if_cscope.c:869:13: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:871:16: branch_true: ...to here
vim91/src/if_cscope.c:876:12: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:877:13: branch_true: ...to here
vim91/src/if_cscope.c:877:13: danger: ‘from_cs[1]’ leaks here
#  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)
#  879|   	    PERROR("cs_create_connection 3");

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/if_cscope.c:877:13: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘from_cs[argc]’
vim91/src/if_cscope.c:849:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:849:28: branch_false: ...to here
vim91/src/if_cscope.c:849:9: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:864:16: branch_false: ...to here
vim91/src/if_cscope.c:864:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:869:20: branch_false: ...to here
vim91/src/if_cscope.c:869:13: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:871:16: branch_true: ...to here
vim91/src/if_cscope.c:876:12: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:877:13: branch_true: ...to here
vim91/src/if_cscope.c:877:13: danger: ‘from_cs[argc]’ leaks here
#  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)
#  879|   	    PERROR("cs_create_connection 3");

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/if_cscope.c:877:13: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘to_cs[1]’
vim91/src/if_cscope.c:849:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:849:28: branch_false: ...to here
vim91/src/if_cscope.c:849:9: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:864:16: branch_false: ...to here
vim91/src/if_cscope.c:864:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:869:20: branch_false: ...to here
vim91/src/if_cscope.c:869:13: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:871:16: branch_true: ...to here
vim91/src/if_cscope.c:876:12: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:877:13: branch_true: ...to here
vim91/src/if_cscope.c:877:13: danger: ‘to_cs[1]’ leaks here
#  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)
#  879|   	    PERROR("cs_create_connection 3");

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/if_cscope.c:877:13: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘to_cs[argc]’
vim91/src/if_cscope.c:849:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:849:28: branch_false: ...to here
vim91/src/if_cscope.c:849:9: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:864:16: branch_false: ...to here
vim91/src/if_cscope.c:864:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:869:20: branch_false: ...to here
vim91/src/if_cscope.c:869:13: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:871:16: branch_true: ...to here
vim91/src/if_cscope.c:876:12: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:877:13: branch_true: ...to here
vim91/src/if_cscope.c:877:13: danger: ‘to_cs[argc]’ leaks here
#  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)
#  879|   	    PERROR("cs_create_connection 3");

Error: GCC_ANALYZER_WARNING (CWE-775):
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:849:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:849:28: branch_false: ...to here
vim91/src/if_cscope.c:849:9: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:864:16: branch_false: ...to here
vim91/src/if_cscope.c:864:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:869:20: branch_false: ...to here
vim91/src/if_cscope.c:869:13: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:871:16: branch_true: ...to here
vim91/src/if_cscope.c:878:13: acquire_resource: opened here
vim91/src/if_cscope.c:878:12: danger: ‘dup2(from_cs[1], 2)’ leaks here; was opened at [(11)](sarif:/runs/0/results/36/codeFlows/0/threadFlows/0/locations/10)
#  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: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/if_cscope.c:879:13: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘from_cs[1]’
vim91/src/if_cscope.c:849:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:849:28: branch_false: ...to here
vim91/src/if_cscope.c:849:9: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:864:16: branch_false: ...to here
vim91/src/if_cscope.c:864:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:869:20: branch_false: ...to here
vim91/src/if_cscope.c:869:13: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:871:16: branch_true: ...to here
vim91/src/if_cscope.c:878:12: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:879:13: branch_true: ...to here
vim91/src/if_cscope.c:879:13: danger: ‘from_cs[1]’ leaks here
#  877|   	    PERROR("cs_create_connection 2");
#  878|   	if (dup2(from_cs[1], STDERR_FILENO) == -1)
#  879|-> 	    PERROR("cs_create_connection 3");
#  880|   
#  881|   	// close unused

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/if_cscope.c:879:13: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘from_cs[argc]’
vim91/src/if_cscope.c:849:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:849:28: branch_false: ...to here
vim91/src/if_cscope.c:849:9: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:864:16: branch_false: ...to here
vim91/src/if_cscope.c:864:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:869:20: branch_false: ...to here
vim91/src/if_cscope.c:869:13: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:871:16: branch_true: ...to here
vim91/src/if_cscope.c:878:12: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:879:13: branch_true: ...to here
vim91/src/if_cscope.c:879:13: danger: ‘from_cs[argc]’ leaks here
#  877|   	    PERROR("cs_create_connection 2");
#  878|   	if (dup2(from_cs[1], STDERR_FILENO) == -1)
#  879|-> 	    PERROR("cs_create_connection 3");
#  880|   
#  881|   	// close unused

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/if_cscope.c:879:13: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘to_cs[1]’
vim91/src/if_cscope.c:849:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:849:28: branch_false: ...to here
vim91/src/if_cscope.c:849:9: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:864:16: branch_false: ...to here
vim91/src/if_cscope.c:864:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:869:20: branch_false: ...to here
vim91/src/if_cscope.c:869:13: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:871:16: branch_true: ...to here
vim91/src/if_cscope.c:878:12: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:879:13: branch_true: ...to here
vim91/src/if_cscope.c:879:13: danger: ‘to_cs[1]’ leaks here
#  877|   	    PERROR("cs_create_connection 2");
#  878|   	if (dup2(from_cs[1], STDERR_FILENO) == -1)
#  879|-> 	    PERROR("cs_create_connection 3");
#  880|   
#  881|   	// close unused

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/if_cscope.c:879:13: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘to_cs[argc]’
vim91/src/if_cscope.c:849:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:849:28: branch_false: ...to here
vim91/src/if_cscope.c:849:9: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:864:16: branch_false: ...to here
vim91/src/if_cscope.c:864:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:869:20: branch_false: ...to here
vim91/src/if_cscope.c:869:13: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:871:16: branch_true: ...to here
vim91/src/if_cscope.c:878:12: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:879:13: branch_true: ...to here
vim91/src/if_cscope.c:879:13: danger: ‘to_cs[argc]’ leaks here
#  877|   	    PERROR("cs_create_connection 2");
#  878|   	if (dup2(from_cs[1], STDERR_FILENO) == -1)
#  879|-> 	    PERROR("cs_create_connection 3");
#  880|   
#  881|   	// close unused

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/if_cscope.c:882:15: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘from_cs[1]’
vim91/src/if_cscope.c:849:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:849:28: branch_false: ...to here
vim91/src/if_cscope.c:849:9: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:864:16: branch_false: ...to here
vim91/src/if_cscope.c:864:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:869:20: branch_false: ...to here
vim91/src/if_cscope.c:869:13: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:871:16: branch_true: ...to here
vim91/src/if_cscope.c:882:15: danger: ‘from_cs[1]’ leaks here
#  880|   
#  881|   	// close unused
#  882|-> 	(void)close(to_cs[1]);
#  883|   	(void)close(from_cs[0]);
#  884|   #else

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/if_cscope.c:882:15: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘from_cs[argc]’
vim91/src/if_cscope.c:849:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:849:28: branch_false: ...to here
vim91/src/if_cscope.c:849:9: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:864:16: branch_false: ...to here
vim91/src/if_cscope.c:864:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:869:20: branch_false: ...to here
vim91/src/if_cscope.c:869:13: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:871:16: branch_true: ...to here
vim91/src/if_cscope.c:882:15: danger: ‘from_cs[argc]’ leaks here
#  880|   
#  881|   	// close unused
#  882|-> 	(void)close(to_cs[1]);
#  883|   	(void)close(from_cs[0]);
#  884|   #else

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/if_cscope.c:882:15: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘to_cs[1]’
vim91/src/if_cscope.c:849:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:849:28: branch_false: ...to here
vim91/src/if_cscope.c:849:9: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:864:16: branch_false: ...to here
vim91/src/if_cscope.c:864:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:869:20: branch_false: ...to here
vim91/src/if_cscope.c:869:13: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:871:16: branch_true: ...to here
vim91/src/if_cscope.c:882:15: danger: ‘to_cs[1]’ leaks here
#  880|   
#  881|   	// close unused
#  882|-> 	(void)close(to_cs[1]);
#  883|   	(void)close(from_cs[0]);
#  884|   #else

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/if_cscope.c:882:15: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘to_cs[argc]’
vim91/src/if_cscope.c:849:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:849:28: branch_false: ...to here
vim91/src/if_cscope.c:849:9: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:864:16: branch_false: ...to here
vim91/src/if_cscope.c:864:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:869:20: branch_false: ...to here
vim91/src/if_cscope.c:869:13: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:871:16: branch_true: ...to here
vim91/src/if_cscope.c:882:15: danger: ‘to_cs[argc]’ leaks here
#  880|   
#  881|   	// close unused
#  882|-> 	(void)close(to_cs[1]);
#  883|   	(void)close(from_cs[0]);
#  884|   #else

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/if_cscope.c:883:15: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘from_cs[1]’
vim91/src/if_cscope.c:849:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:849:28: branch_false: ...to here
vim91/src/if_cscope.c:849:9: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:864:16: branch_false: ...to here
vim91/src/if_cscope.c:864:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:869:20: branch_false: ...to here
vim91/src/if_cscope.c:869:13: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:871:16: branch_true: ...to here
vim91/src/if_cscope.c:883:15: danger: ‘from_cs[1]’ leaks here
#  881|   	// close unused
#  882|   	(void)close(to_cs[1]);
#  883|-> 	(void)close(from_cs[0]);
#  884|   #else
#  885|   	// MSWIN

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/if_cscope.c:883:15: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘from_cs[argc]’
vim91/src/if_cscope.c:849:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:849:28: branch_false: ...to here
vim91/src/if_cscope.c:849:9: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:864:16: branch_false: ...to here
vim91/src/if_cscope.c:864:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:869:20: branch_false: ...to here
vim91/src/if_cscope.c:869:13: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:871:16: branch_true: ...to here
vim91/src/if_cscope.c:883:15: danger: ‘from_cs[argc]’ leaks here
#  881|   	// close unused
#  882|   	(void)close(to_cs[1]);
#  883|-> 	(void)close(from_cs[0]);
#  884|   #else
#  885|   	// MSWIN

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/if_cscope.c:883:15: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘to_cs[argc]’
vim91/src/if_cscope.c:849:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:849:28: branch_false: ...to here
vim91/src/if_cscope.c:849:9: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:864:16: branch_false: ...to here
vim91/src/if_cscope.c:864:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:869:20: branch_false: ...to here
vim91/src/if_cscope.c:869:13: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:871:16: branch_true: ...to here
vim91/src/if_cscope.c:883:15: danger: ‘to_cs[argc]’ leaks here
#  881|   	// close unused
#  882|   	(void)close(to_cs[1]);
#  883|-> 	(void)close(from_cs[0]);
#  884|   #else
#  885|   	// MSWIN

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/if_cscope.c:910:21: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘from_cs[1]’
vim91/src/if_cscope.c:849:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:849:28: branch_false: ...to here
vim91/src/if_cscope.c:849:9: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:864:16: branch_false: ...to here
vim91/src/if_cscope.c:864:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:869:20: branch_false: ...to here
vim91/src/if_cscope.c:869:13: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:871:16: branch_true: ...to here
vim91/src/if_cscope.c:910:21: danger: ‘from_cs[1]’ leaks here
#  908|   #endif
#  909|   	// expand the cscope exec for env var's
#  910|-> 	if ((prog = alloc(MAXPATHL + 1)) == NULL)
#  911|   	{
#  912|   #ifdef UNIX

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/if_cscope.c:910:21: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘to_cs[argc]’
vim91/src/if_cscope.c:849:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:849:28: branch_false: ...to here
vim91/src/if_cscope.c:849:9: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:864:16: branch_false: ...to here
vim91/src/if_cscope.c:864:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:869:20: branch_false: ...to here
vim91/src/if_cscope.c:869:13: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:871:16: branch_true: ...to here
vim91/src/if_cscope.c:910:21: danger: ‘to_cs[argc]’ leaks here
#  908|   #endif
#  909|   	// expand the cscope exec for env var's
#  910|-> 	if ((prog = alloc(MAXPATHL + 1)) == NULL)
#  911|   	{
#  912|   #ifdef UNIX

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/if_cscope.c:919:19: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘from_cs[1]’
vim91/src/if_cscope.c:849:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:849:28: branch_false: ...to here
vim91/src/if_cscope.c:849:9: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:864:16: branch_false: ...to here
vim91/src/if_cscope.c:864:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:869:20: branch_false: ...to here
vim91/src/if_cscope.c:869:13: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:871:16: branch_true: ...to here
vim91/src/if_cscope.c:910:12: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:919:19: branch_false: ...to here
vim91/src/if_cscope.c:919:19: danger: ‘from_cs[1]’ leaks here
#  917|   #endif
#  918|   	}
#  919|-> 	proglen = expand_env(p_csprg, (char_u *)prog, MAXPATHL);
#  920|   
#  921|   	// alloc space to hold the cscope command

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/if_cscope.c:919:19: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘to_cs[argc]’
vim91/src/if_cscope.c:849:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:849:28: branch_false: ...to here
vim91/src/if_cscope.c:849:9: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:864:16: branch_false: ...to here
vim91/src/if_cscope.c:864:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:869:20: branch_false: ...to here
vim91/src/if_cscope.c:869:13: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:871:16: branch_true: ...to here
vim91/src/if_cscope.c:910:12: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:919:19: branch_false: ...to here
vim91/src/if_cscope.c:919:19: danger: ‘to_cs[argc]’ leaks here
#  917|   #endif
#  918|   	}
#  919|-> 	proglen = expand_env(p_csprg, (char_u *)prog, MAXPATHL);
#  920|   
#  921|   	// alloc space to hold the cscope command

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/if_cscope.c:926:26: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘from_cs[1]’
vim91/src/if_cscope.c:849:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:849:28: branch_false: ...to here
vim91/src/if_cscope.c:849:9: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:864:16: branch_false: ...to here
vim91/src/if_cscope.c:864:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:869:20: branch_false: ...to here
vim91/src/if_cscope.c:869:13: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:871:16: branch_true: ...to here
vim91/src/if_cscope.c:910:12: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:919:19: branch_false: ...to here
vim91/src/if_cscope.c:923:12: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:926:26: branch_true: ...to here
vim91/src/if_cscope.c:926:26: danger: ‘from_cs[1]’ leaks here
#  924|   	{
#  925|   	    // expand the prepend path for env var's
#  926|-> 	    if ((ppath = alloc(MAXPATHL + 1)) == NULL)
#  927|   	    {
#  928|   		vim_free(prog);

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/if_cscope.c:926:26: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘to_cs[argc]’
vim91/src/if_cscope.c:849:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:849:28: branch_false: ...to here
vim91/src/if_cscope.c:849:9: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:864:16: branch_false: ...to here
vim91/src/if_cscope.c:864:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:869:20: branch_false: ...to here
vim91/src/if_cscope.c:869:13: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:871:16: branch_true: ...to here
vim91/src/if_cscope.c:910:12: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:919:19: branch_false: ...to here
vim91/src/if_cscope.c:923:12: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:926:26: branch_true: ...to here
vim91/src/if_cscope.c:926:26: danger: ‘to_cs[argc]’ leaks here
#  924|   	{
#  925|   	    // expand the prepend path for env var's
#  926|-> 	    if ((ppath = alloc(MAXPATHL + 1)) == NULL)
#  927|   	    {
#  928|   		vim_free(prog);

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/if_cscope.c:928:17: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘from_cs[1]’
vim91/src/if_cscope.c:849:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:849:28: branch_false: ...to here
vim91/src/if_cscope.c:849:9: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:864:16: branch_false: ...to here
vim91/src/if_cscope.c:864:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:869:20: branch_false: ...to here
vim91/src/if_cscope.c:869:13: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:871:16: branch_true: ...to here
vim91/src/if_cscope.c:910:12: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:919:19: branch_false: ...to here
vim91/src/if_cscope.c:923:12: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:926:26: branch_true: ...to here
vim91/src/if_cscope.c:926:16: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:928:17: branch_true: ...to here
vim91/src/if_cscope.c:928:17: danger: ‘from_cs[1]’ leaks here
#  926|   	    if ((ppath = alloc(MAXPATHL + 1)) == NULL)
#  927|   	    {
#  928|-> 		vim_free(prog);
#  929|   #ifdef UNIX
#  930|   		exit(EXIT_FAILURE);

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/if_cscope.c:928:17: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘to_cs[0]’
vim91/src/if_cscope.c:849:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:849:28: branch_false: ...to here
vim91/src/if_cscope.c:849:9: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:864:16: branch_false: ...to here
vim91/src/if_cscope.c:864:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:869:20: branch_false: ...to here
vim91/src/if_cscope.c:869:13: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:871:16: branch_true: ...to here
vim91/src/if_cscope.c:910:12: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:919:19: branch_false: ...to here
vim91/src/if_cscope.c:923:12: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:926:26: branch_true: ...to here
vim91/src/if_cscope.c:926:16: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:928:17: branch_true: ...to here
vim91/src/if_cscope.c:928:17: danger: ‘to_cs[0]’ leaks here
#  926|   	    if ((ppath = alloc(MAXPATHL + 1)) == NULL)
#  927|   	    {
#  928|-> 		vim_free(prog);
#  929|   #ifdef UNIX
#  930|   		exit(EXIT_FAILURE);

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/if_cscope.c:936:28: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘from_cs[1]’
vim91/src/if_cscope.c:849:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:849:28: branch_false: ...to here
vim91/src/if_cscope.c:849:9: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:864:16: branch_false: ...to here
vim91/src/if_cscope.c:864:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:869:20: branch_false: ...to here
vim91/src/if_cscope.c:869:13: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:871:16: branch_true: ...to here
vim91/src/if_cscope.c:910:12: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:919:19: branch_false: ...to here
vim91/src/if_cscope.c:923:12: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:926:26: branch_true: ...to here
vim91/src/if_cscope.c:926:16: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:936:55: branch_false: ...to here
vim91/src/if_cscope.c:936:28: danger: ‘from_cs[1]’ leaks here
#  934|   #endif
#  935|   	    }
#  936|-> 	    cmdlen += (int)expand_env((char_u *)csinfo[i].ppath, (char_u *)ppath, MAXPATHL);
#  937|   	}
#  938|   

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/if_cscope.c:936:28: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘to_cs[argc]’
vim91/src/if_cscope.c:849:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:849:28: branch_false: ...to here
vim91/src/if_cscope.c:849:9: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:864:16: branch_false: ...to here
vim91/src/if_cscope.c:864:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:869:20: branch_false: ...to here
vim91/src/if_cscope.c:869:13: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:871:16: branch_true: ...to here
vim91/src/if_cscope.c:910:12: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:919:19: branch_false: ...to here
vim91/src/if_cscope.c:923:12: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:926:26: branch_true: ...to here
vim91/src/if_cscope.c:926:16: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:936:55: branch_false: ...to here
vim91/src/if_cscope.c:936:28: danger: ‘to_cs[argc]’ leaks here
#  934|   #endif
#  935|   	    }
#  936|-> 	    cmdlen += (int)expand_env((char_u *)csinfo[i].ppath, (char_u *)ppath, MAXPATHL);
#  937|   	}
#  938|   

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/if_cscope.c:942:20: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘from_cs[1]’
vim91/src/if_cscope.c:849:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:849:28: branch_false: ...to here
vim91/src/if_cscope.c:849:9: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:864:16: branch_false: ...to here
vim91/src/if_cscope.c:864:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:869:20: branch_false: ...to here
vim91/src/if_cscope.c:869:13: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:871:16: branch_true: ...to here
vim91/src/if_cscope.c:910:12: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:919:19: branch_false: ...to here
vim91/src/if_cscope.c:923:12: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:939:19: branch_false: ...to here
vim91/src/if_cscope.c:939:12: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:942:20: branch_false: ...to here
vim91/src/if_cscope.c:942:20: danger: ‘from_cs[1]’ leaks here
#  940|   	    cmdlen += (int)strlen(csinfo[i].flags);
#  941|   
#  942|-> 	if ((cmd = alloc(cmdlen)) == NULL)
#  943|   	{
#  944|   	    vim_free(prog);

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/if_cscope.c:942:20: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘to_cs[argc]’
vim91/src/if_cscope.c:849:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:849:28: branch_false: ...to here
vim91/src/if_cscope.c:849:9: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:864:16: branch_false: ...to here
vim91/src/if_cscope.c:864:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:869:20: branch_false: ...to here
vim91/src/if_cscope.c:869:13: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:871:16: branch_true: ...to here
vim91/src/if_cscope.c:910:12: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:919:19: branch_false: ...to here
vim91/src/if_cscope.c:923:12: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:939:19: branch_false: ...to here
vim91/src/if_cscope.c:939:12: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:942:20: branch_false: ...to here
vim91/src/if_cscope.c:942:20: danger: ‘to_cs[argc]’ leaks here
#  940|   	    cmdlen += (int)strlen(csinfo[i].flags);
#  941|   
#  942|-> 	if ((cmd = alloc(cmdlen)) == NULL)
#  943|   	{
#  944|   	    vim_free(prog);

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/if_cscope.c:944:13: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘from_cs[1]’
vim91/src/if_cscope.c:849:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:849:28: branch_false: ...to here
vim91/src/if_cscope.c:849:9: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:864:16: branch_false: ...to here
vim91/src/if_cscope.c:864:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:869:20: branch_false: ...to here
vim91/src/if_cscope.c:869:13: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:871:16: branch_true: ...to here
vim91/src/if_cscope.c:910:12: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:919:19: branch_false: ...to here
vim91/src/if_cscope.c:923:12: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:939:19: branch_false: ...to here
vim91/src/if_cscope.c:942:12: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:944:13: branch_true: ...to here
vim91/src/if_cscope.c:944:13: danger: ‘from_cs[1]’ leaks here
#  942|   	if ((cmd = alloc(cmdlen)) == NULL)
#  943|   	{
#  944|-> 	    vim_free(prog);
#  945|   	    vim_free(ppath);
#  946|   #ifdef UNIX

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/if_cscope.c:944:13: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘to_cs[0]’
vim91/src/if_cscope.c:849:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:849:28: branch_false: ...to here
vim91/src/if_cscope.c:849:9: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:864:16: branch_false: ...to here
vim91/src/if_cscope.c:864:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:869:20: branch_false: ...to here
vim91/src/if_cscope.c:869:13: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:871:16: branch_true: ...to here
vim91/src/if_cscope.c:910:12: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:919:19: branch_false: ...to here
vim91/src/if_cscope.c:923:12: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:939:19: branch_false: ...to here
vim91/src/if_cscope.c:942:12: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:944:13: branch_true: ...to here
vim91/src/if_cscope.c:944:13: danger: ‘to_cs[0]’ leaks here
#  942|   	if ((cmd = alloc(cmdlen)) == NULL)
#  943|   	{
#  944|-> 	    vim_free(prog);
#  945|   	    vim_free(ppath);
#  946|   #ifdef UNIX

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/if_cscope.c:945:13: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘from_cs[1]’
vim91/src/if_cscope.c:849:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:849:28: branch_false: ...to here
vim91/src/if_cscope.c:849:9: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:864:16: branch_false: ...to here
vim91/src/if_cscope.c:864:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:869:20: branch_false: ...to here
vim91/src/if_cscope.c:869:13: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:871:16: branch_true: ...to here
vim91/src/if_cscope.c:910:12: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:919:19: branch_false: ...to here
vim91/src/if_cscope.c:942:12: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:944:13: branch_true: ...to here
vim91/src/if_cscope.c:945:13: danger: ‘from_cs[1]’ leaks here
#  943|   	{
#  944|   	    vim_free(prog);
#  945|-> 	    vim_free(ppath);
#  946|   #ifdef UNIX
#  947|   	    exit(EXIT_FAILURE);

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/if_cscope.c:945:13: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘to_cs[0]’
vim91/src/if_cscope.c:849:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:849:28: branch_false: ...to here
vim91/src/if_cscope.c:849:9: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:864:16: branch_false: ...to here
vim91/src/if_cscope.c:864:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:869:20: branch_false: ...to here
vim91/src/if_cscope.c:869:13: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:871:16: branch_true: ...to here
vim91/src/if_cscope.c:910:12: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:919:19: branch_false: ...to here
vim91/src/if_cscope.c:942:12: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:944:13: branch_true: ...to here
vim91/src/if_cscope.c:945:13: danger: ‘to_cs[0]’ leaks here
#  943|   	{
#  944|   	    vim_free(prog);
#  945|-> 	    vim_free(ppath);
#  946|   #ifdef UNIX
#  947|   	    exit(EXIT_FAILURE);

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/if_cscope.c:956:9: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘from_cs[1]’
vim91/src/if_cscope.c:849:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:849:28: branch_false: ...to here
vim91/src/if_cscope.c:849:9: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:864:16: branch_false: ...to here
vim91/src/if_cscope.c:864:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:869:20: branch_false: ...to here
vim91/src/if_cscope.c:869:13: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:871:16: branch_true: ...to here
vim91/src/if_cscope.c:910:12: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:919:19: branch_false: ...to here
vim91/src/if_cscope.c:923:12: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:939:19: branch_false: ...to here
vim91/src/if_cscope.c:939:12: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:942:20: branch_false: ...to here
vim91/src/if_cscope.c:942:12: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:957:69: branch_false: ...to here
vim91/src/if_cscope.c:956:9: danger: ‘from_cs[1]’ leaks here
#  954|   	// run the cscope command
#  955|   #ifdef UNIX
#  956|-> 	vim_snprintf(cmd, cmdlen, "/bin/sh -c \"exec %s -dl -f %s",
#  957|   							prog, csinfo[i].fname);
#  958|   #else

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/if_cscope.c:956:9: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘to_cs[argc]’
vim91/src/if_cscope.c:849:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:849:28: branch_false: ...to here
vim91/src/if_cscope.c:849:9: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:864:16: branch_false: ...to here
vim91/src/if_cscope.c:864:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:869:20: branch_false: ...to here
vim91/src/if_cscope.c:869:13: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:871:16: branch_true: ...to here
vim91/src/if_cscope.c:910:12: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:919:19: branch_false: ...to here
vim91/src/if_cscope.c:923:12: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:939:19: branch_false: ...to here
vim91/src/if_cscope.c:939:12: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:942:20: branch_false: ...to here
vim91/src/if_cscope.c:942:12: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:957:69: branch_false: ...to here
vim91/src/if_cscope.c:956:9: danger: ‘to_cs[argc]’ leaks here
#  954|   	// run the cscope command
#  955|   #ifdef UNIX
#  956|-> 	vim_snprintf(cmd, cmdlen, "/bin/sh -c \"exec %s -dl -f %s",
#  957|   							prog, csinfo[i].fname);
#  958|   #else

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/if_cscope.c:964:13: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘from_cs[1]’
vim91/src/if_cscope.c:849:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:849:28: branch_false: ...to here
vim91/src/if_cscope.c:849:9: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:864:16: branch_false: ...to here
vim91/src/if_cscope.c:864:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:869:20: branch_false: ...to here
vim91/src/if_cscope.c:869:13: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:871:16: branch_true: ...to here
vim91/src/if_cscope.c:910:12: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:919:19: branch_false: ...to here
vim91/src/if_cscope.c:923:12: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:939:19: branch_false: ...to here
vim91/src/if_cscope.c:939:12: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:942:20: branch_false: ...to here
vim91/src/if_cscope.c:942:12: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:957:69: branch_false: ...to here
vim91/src/if_cscope.c:961:12: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:963:24: branch_true: ...to here
vim91/src/if_cscope.c:964:13: danger: ‘from_cs[1]’ leaks here
#  962|   	{
#  963|   	    len = (int)STRLEN(cmd);
#  964|-> 	    vim_snprintf(cmd + len, cmdlen - len, " -P%s", csinfo[i].ppath);
#  965|   	}
#  966|   	if (csinfo[i].flags != NULL)

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/if_cscope.c:964:13: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘to_cs[argc]’
vim91/src/if_cscope.c:849:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:849:28: branch_false: ...to here
vim91/src/if_cscope.c:849:9: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:864:16: branch_false: ...to here
vim91/src/if_cscope.c:864:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:869:20: branch_false: ...to here
vim91/src/if_cscope.c:869:13: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:871:16: branch_true: ...to here
vim91/src/if_cscope.c:910:12: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:919:19: branch_false: ...to here
vim91/src/if_cscope.c:923:12: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:939:19: branch_false: ...to here
vim91/src/if_cscope.c:939:12: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:942:20: branch_false: ...to here
vim91/src/if_cscope.c:942:12: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:957:69: branch_false: ...to here
vim91/src/if_cscope.c:961:12: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:963:24: branch_true: ...to here
vim91/src/if_cscope.c:964:13: danger: ‘to_cs[argc]’ leaks here
#  962|   	{
#  963|   	    len = (int)STRLEN(cmd);
#  964|-> 	    vim_snprintf(cmd + len, cmdlen - len, " -P%s", csinfo[i].ppath);
#  965|   	}
#  966|   	if (csinfo[i].flags != NULL)

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/if_cscope.c:969:13: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘from_cs[1]’
vim91/src/if_cscope.c:849:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:849:28: branch_false: ...to here
vim91/src/if_cscope.c:849:9: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:864:16: branch_false: ...to here
vim91/src/if_cscope.c:864:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:869:20: branch_false: ...to here
vim91/src/if_cscope.c:869:13: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:871:16: branch_true: ...to here
vim91/src/if_cscope.c:910:12: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:919:19: branch_false: ...to here
vim91/src/if_cscope.c:923:12: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:939:19: branch_false: ...to here
vim91/src/if_cscope.c:942:12: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:957:69: branch_false: ...to here
vim91/src/if_cscope.c:966:12: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:968:24: branch_true: ...to here
vim91/src/if_cscope.c:969:13: danger: ‘from_cs[1]’ leaks here
#  967|   	{
#  968|   	    len = (int)STRLEN(cmd);
#  969|-> 	    vim_snprintf(cmd + len, cmdlen - len, " %s", csinfo[i].flags);
#  970|   	}
#  971|   # ifdef UNIX

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/if_cscope.c:969:13: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘to_cs[argc]’
vim91/src/if_cscope.c:849:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:849:28: branch_false: ...to here
vim91/src/if_cscope.c:849:9: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:864:16: branch_false: ...to here
vim91/src/if_cscope.c:864:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:869:20: branch_false: ...to here
vim91/src/if_cscope.c:869:13: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:871:16: branch_true: ...to here
vim91/src/if_cscope.c:910:12: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:919:19: branch_false: ...to here
vim91/src/if_cscope.c:923:12: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:939:19: branch_false: ...to here
vim91/src/if_cscope.c:942:12: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:957:69: branch_false: ...to here
vim91/src/if_cscope.c:966:12: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:968:24: branch_true: ...to here
vim91/src/if_cscope.c:969:13: danger: ‘to_cs[argc]’ leaks here
#  967|   	{
#  968|   	    len = (int)STRLEN(cmd);
#  969|-> 	    vim_snprintf(cmd + len, cmdlen - len, " %s", csinfo[i].flags);
#  970|   	}
#  971|   # ifdef UNIX

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/if_cscope.c:1006:13: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘from_cs[0]’
vim91/src/if_cscope.c:849:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:849:28: branch_false: ...to here
vim91/src/if_cscope.c:849:9: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:864:16: branch_false: ...to here
vim91/src/if_cscope.c:864:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:869:20: branch_false: ...to here
vim91/src/if_cscope.c:869:13: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:1005:32: branch_false: ...to here
vim91/src/if_cscope.c:1005:12: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:1006:13: branch_true: ...to here
vim91/src/if_cscope.c:1006:13: danger: ‘from_cs[0]’ leaks here
# 1004|   	 */
# 1005|   	if ((csinfo[i].to_fp = fdopen(to_cs[1], "w")) == NULL)
# 1006|-> 	    PERROR(_("cs_create_connection: fdopen for to_fp failed"));
# 1007|   	if ((csinfo[i].fr_fp = fdopen(from_cs[0], "r")) == NULL)
# 1008|   	    PERROR(_("cs_create_connection: fdopen for fr_fp failed"));

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/if_cscope.c:1006:13: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘from_cs[1]’
vim91/src/if_cscope.c:849:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:849:28: branch_false: ...to here
vim91/src/if_cscope.c:849:9: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:864:16: branch_false: ...to here
vim91/src/if_cscope.c:864:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:869:20: branch_false: ...to here
vim91/src/if_cscope.c:869:13: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:1005:32: branch_false: ...to here
vim91/src/if_cscope.c:1005:12: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:1006:13: branch_true: ...to here
vim91/src/if_cscope.c:1006:13: danger: ‘from_cs[1]’ leaks here
# 1004|   	 */
# 1005|   	if ((csinfo[i].to_fp = fdopen(to_cs[1], "w")) == NULL)
# 1006|-> 	    PERROR(_("cs_create_connection: fdopen for to_fp failed"));
# 1007|   	if ((csinfo[i].fr_fp = fdopen(from_cs[0], "r")) == NULL)
# 1008|   	    PERROR(_("cs_create_connection: fdopen for fr_fp failed"));

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/if_cscope.c:1006:13: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘to_cs[0]’
vim91/src/if_cscope.c:849:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:849:28: branch_false: ...to here
vim91/src/if_cscope.c:849:9: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:864:16: branch_false: ...to here
vim91/src/if_cscope.c:864:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:869:20: branch_false: ...to here
vim91/src/if_cscope.c:869:13: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:1005:32: branch_false: ...to here
vim91/src/if_cscope.c:1005:12: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:1006:13: branch_true: ...to here
vim91/src/if_cscope.c:1006:13: danger: ‘to_cs[0]’ leaks here
# 1004|   	 */
# 1005|   	if ((csinfo[i].to_fp = fdopen(to_cs[1], "w")) == NULL)
# 1006|-> 	    PERROR(_("cs_create_connection: fdopen for to_fp failed"));
# 1007|   	if ((csinfo[i].fr_fp = fdopen(from_cs[0], "r")) == NULL)
# 1008|   	    PERROR(_("cs_create_connection: fdopen for fr_fp failed"));

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/if_cscope.c:1008:13: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘from_cs[1]’
vim91/src/if_cscope.c:849:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:849:28: branch_false: ...to here
vim91/src/if_cscope.c:849:9: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:864:16: branch_false: ...to here
vim91/src/if_cscope.c:864:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:869:20: branch_false: ...to here
vim91/src/if_cscope.c:869:13: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:1005:32: branch_false: ...to here
vim91/src/if_cscope.c:1007:12: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:1008:13: branch_true: ...to here
vim91/src/if_cscope.c:1008:13: danger: ‘from_cs[1]’ leaks here
# 1006|   	    PERROR(_("cs_create_connection: fdopen for to_fp failed"));
# 1007|   	if ((csinfo[i].fr_fp = fdopen(from_cs[0], "r")) == NULL)
# 1008|-> 	    PERROR(_("cs_create_connection: fdopen for fr_fp failed"));
# 1009|   
# 1010|   	// close unused

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/if_cscope.c:1008:13: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘to_cs[0]’
vim91/src/if_cscope.c:849:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:849:28: branch_false: ...to here
vim91/src/if_cscope.c:849:9: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:864:16: branch_false: ...to here
vim91/src/if_cscope.c:864:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:869:20: branch_false: ...to here
vim91/src/if_cscope.c:869:13: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:1005:32: branch_false: ...to here
vim91/src/if_cscope.c:1007:12: branch_true: following ‘true’ branch...
vim91/src/if_cscope.c:1008:13: branch_true: ...to here
vim91/src/if_cscope.c:1008:13: danger: ‘to_cs[0]’ leaks here
# 1006|   	    PERROR(_("cs_create_connection: fdopen for to_fp failed"));
# 1007|   	if ((csinfo[i].fr_fp = fdopen(from_cs[0], "r")) == NULL)
# 1008|-> 	    PERROR(_("cs_create_connection: fdopen for fr_fp failed"));
# 1009|   
# 1010|   	// close unused

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/if_cscope.c:1011:15: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘from_cs[1]’
vim91/src/if_cscope.c:849:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:849:28: branch_false: ...to here
vim91/src/if_cscope.c:849:9: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:864:16: branch_false: ...to here
vim91/src/if_cscope.c:864:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:869:20: branch_false: ...to here
vim91/src/if_cscope.c:869:13: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:1005:32: branch_false: ...to here
vim91/src/if_cscope.c:1007:12: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:1011:15: branch_false: ...to here
vim91/src/if_cscope.c:1011:15: danger: ‘from_cs[1]’ leaks here
# 1009|   
# 1010|   	// close unused
# 1011|-> 	(void)close(to_cs[0]);
# 1012|   	(void)close(from_cs[1]);
# 1013|       }

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/if_cscope.c:1011:15: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘to_cs[0]’
vim91/src/if_cscope.c:849:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:849:28: branch_false: ...to here
vim91/src/if_cscope.c:849:9: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:864:16: branch_false: ...to here
vim91/src/if_cscope.c:864:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:869:20: branch_false: ...to here
vim91/src/if_cscope.c:869:13: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:1005:32: branch_false: ...to here
vim91/src/if_cscope.c:1007:12: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:1011:15: branch_false: ...to here
vim91/src/if_cscope.c:1011:15: danger: ‘to_cs[0]’ leaks here
# 1009|   
# 1010|   	// close unused
# 1011|-> 	(void)close(to_cs[0]);
# 1012|   	(void)close(from_cs[1]);
# 1013|       }

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/if_cscope.c:1012:15: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘from_cs[1]’
vim91/src/if_cscope.c:849:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:849:28: branch_false: ...to here
vim91/src/if_cscope.c:849:9: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:864:16: branch_false: ...to here
vim91/src/if_cscope.c:864:8: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:869:20: branch_false: ...to here
vim91/src/if_cscope.c:869:13: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:1005:32: branch_false: ...to here
vim91/src/if_cscope.c:1007:12: branch_false: following ‘false’ branch...
vim91/src/if_cscope.c:1011:15: branch_false: ...to here
vim91/src/if_cscope.c:1012:15: danger: ‘from_cs[1]’ leaks here
# 1010|   	// close unused
# 1011|   	(void)close(to_cs[0]);
# 1012|-> 	(void)close(from_cs[1]);
# 1013|       }
# 1014|   #else

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

Error: GCC_ANALYZER_WARNING (CWE-476):
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):
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-457):
vim91/src/if_lua.c:1184:9: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value ‘tv’
vim91/src/if_lua.c:1144:8: branch_false: following ‘false’ branch...
vim91/src/if_lua.c:1146:9: branch_false: ...to here
vim91/src/if_lua.c:1148:8: branch_false: following ‘false’ branch...
vim91/src/if_lua.c:1157:10: branch_false: ...to here
vim91/src/if_lua.c:1177:8: branch_false: following ‘false’ branch...
vim91/src/if_lua.c:1184:9: branch_false: ...to here
vim91/src/if_lua.c:1184:9: danger: use of uninitialized value ‘tv’ here
# 1182|       }
# 1183|       else
# 1184|-> 	di->di_tv = tv;
# 1185|       return 0;
# 1186|   }

Error: GCC_ANALYZER_WARNING (CWE-476):
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):
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):
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):
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):
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):
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):
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):
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: GCC_ANALYZER_WARNING (CWE-404):
vim91/src/if_perl.xs:1490:5: warning[-Wanalyzer-va-list-leak]: missing call to ‘va_end’
vim91/src/if_perl.xs:1489:5: acquire_resource: ‘va_start’ called here
vim91/src/if_perl.xs:1490:5: danger: missing call to ‘va_end’ to match ‘va_start’ at [(1)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/0)
# 1488|       va_list args;
# 1489|       va_start(args, pat);
# 1490|->     (*dll_Perl_croak_nocontext)(pat, &args);
# 1491|       NOT_REACHED; /* NOTREACHED */
# 1492|       va_end(args);

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

Error: CPPCHECK_WARNING (CWE-562):
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):
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: GCC_ANALYZER_WARNING (CWE-476):
vim91/src/if_py_both.h:5344:21: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘array’
vim91/src/if_python3.c:1833:1: enter_function: entry to ‘RangeAsSlice’
vim91/src/if_python3.c:1835:12: call_function: calling ‘RBAsSlice’ from ‘RangeAsSlice’
# 5342|   	{
# 5343|   	    for (i = 0; i < old_len && i < new_len; ++i)
# 5344|-> 		if (ml_replace((linenr_T)(lo+i), (char_u *)array[i], FALSE)
# 5345|   								      == FAIL)
# 5346|   		{

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

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

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

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

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

Error: GCC_ANALYZER_WARNING (CWE-476):
vim91/src/insexpand.c:5687:38: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘leader’
vim91/src/insexpand.c:7273:1: enter_function: entry to ‘ins_complete’
vim91/src/insexpand.c:7291:8: branch_false: following ‘false’ branch...
vim91/src/insexpand.c:7296:13: branch_false: ...to here
vim91/src/insexpand.c:7311:9: call_function: calling ‘ins_compl_next’ from ‘ins_complete’
# 5685|   
# 5686|       while (!ins_compl_equal(compl_shown_match,
# 5687|-> 		leader->string, (int)leader->length)
# 5688|   	    && compl_shown_match->cp_next != NULL
# 5689|   	    && !is_first_match(compl_shown_match->cp_next))

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

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

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

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

Error: GCC_ANALYZER_WARNING (CWE-787):
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 + 51539604480’ 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):
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):
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:
vim91/src/libvterm/src/mouse.c: warning: -D_FORTIFY_SOURCE defined but value is too low

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

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

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

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

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

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

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

Error: CPPCHECK_WARNING (CWE-457):
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):
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:
vim91/src/list.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: GCC_ANALYZER_WARNING (CWE-476):
vim91/src/list.c:2149:13: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘l’
vim91/src/list.c:2108:1: enter_function: entry to ‘do_sort’
vim91/src/list.c:2115:11: call_function: inlined call to ‘list_len’ from ‘do_sort’
vim91/src/list.c:2118:12: branch_true: ...to here
vim91/src/list.c:2119:8: branch_false: following ‘false’ branch...
vim91/src/list.c:2123:5: branch_false: ...to here
vim91/src/list.c:2123:5: branch_false: following ‘false’ branch (when ‘l’ is NULL)...
<unknown>: branch_false: ...to here
vim91/src/list.c:2123:5: branch_false: following ‘false’ branch (when ‘li’ is NULL)...
vim91/src/list.c:2130:5: branch_false: ...to here
vim91/src/list.c:2133:8: branch_false: following ‘false’ branch...
vim91/src/list.c:2134:20: branch_false: ...to here
vim91/src/list.c:2133:9: branch_false: following ‘false’ branch...
vim91/src/list.c:2142:17: branch_false: ...to here
vim91/src/list.c:2146:12: branch_true: following ‘true’ branch...
vim91/src/list.c:2150:19: branch_true: ...to here
vim91/src/list.c:2149:13: danger: dereference of NULL ‘l’
# 2147|   	{
# 2148|   	    // Clear the List and append the items in sorted order.
# 2149|-> 	    l->lv_first = l->lv_u.mat.lv_last
# 2150|   		= l->lv_u.mat.lv_idx_item = NULL;
# 2151|   	    l->lv_len = 0;

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

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

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/logfile.c:54:9: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(fname,  mode)’
vim91/src/logfile.c:32:8: branch_false: following ‘false’ branch...
vim91/src/logfile.c:42:9: branch_false: ...to here
vim91/src/logfile.c:46:8: branch_true: following ‘true’ branch...
vim91/src/logfile.c:48:16: branch_true: ...to here
vim91/src/logfile.c:48:16: acquire_resource: opened here
vim91/src/logfile.c:49:12: branch_false: following ‘false’ branch...
vim91/src/logfile.c:54:9: branch_false: ...to here
vim91/src/logfile.c:54:9: danger: ‘fopen(fname,  mode)’ leaks here; was opened at [(5)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/4)
#   52|   	    return;
#   53|   	}
#   54|-> 	vim_free(log_name);
#   55|   	log_name = vim_strsave(fname);
#   56|       }

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/logfile.c:54:9: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(fname,  mode)’
vim91/src/logfile.c:32:8: branch_false: following ‘false’ branch...
vim91/src/logfile.c:42:9: branch_false: ...to here
vim91/src/logfile.c:46:8: branch_true: following ‘true’ branch...
vim91/src/logfile.c:48:16: branch_true: ...to here
vim91/src/logfile.c:48:16: acquire_memory: allocated here
vim91/src/logfile.c:49:12: branch_false: following ‘false’ branch...
vim91/src/logfile.c:54:9: branch_false: ...to here
vim91/src/logfile.c:54:9: danger: ‘fopen(fname,  mode)’ leaks here; was allocated at [(5)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/4)
#   52|   	    return;
#   53|   	}
#   54|-> 	vim_free(log_name);
#   55|   	log_name = vim_strsave(fname);
#   56|       }

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/logfile.c:55:20: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(fname,  mode)’
vim91/src/logfile.c:32:8: branch_false: following ‘false’ branch...
vim91/src/logfile.c:42:9: branch_false: ...to here
vim91/src/logfile.c:46:8: branch_true: following ‘true’ branch...
vim91/src/logfile.c:48:16: branch_true: ...to here
vim91/src/logfile.c:48:16: acquire_resource: opened here
vim91/src/logfile.c:49:12: branch_false: following ‘false’ branch...
vim91/src/logfile.c:54:9: branch_false: ...to here
vim91/src/logfile.c:55:20: danger: ‘fopen(fname,  mode)’ leaks here; was opened at [(5)](sarif:/runs/0/results/2/codeFlows/0/threadFlows/0/locations/4)
#   53|   	}
#   54|   	vim_free(log_name);
#   55|-> 	log_name = vim_strsave(fname);
#   56|       }
#   57|       log_fd = file;

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/logfile.c:55:20: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(fname,  mode)’
vim91/src/logfile.c:32:8: branch_false: following ‘false’ branch...
vim91/src/logfile.c:42:9: branch_false: ...to here
vim91/src/logfile.c:46:8: branch_true: following ‘true’ branch...
vim91/src/logfile.c:48:16: branch_true: ...to here
vim91/src/logfile.c:48:16: acquire_memory: allocated here
vim91/src/logfile.c:49:12: branch_false: following ‘false’ branch...
vim91/src/logfile.c:54:9: branch_false: ...to here
vim91/src/logfile.c:55:20: danger: ‘fopen(fname,  mode)’ leaks here; was allocated at [(5)](sarif:/runs/0/results/3/codeFlows/0/threadFlows/0/locations/4)
#   53|   	}
#   54|   	vim_free(log_name);
#   55|-> 	log_name = vim_strsave(fname);
#   56|       }
#   57|       log_fd = file;

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

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

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

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

Error: GCC_ANALYZER_WARNING (CWE-476):
vim91/src/match.c:46:9: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘grp’
vim91/src/match.c:1367:1: enter_function: entry to ‘ex_match’
vim91/src/match.c:1375:8: branch_true: following ‘true’ branch...
vim91/src/match.c:1376:9: branch_true: ...to here
vim91/src/match.c:1387:8: branch_false: following ‘false’ branch...
vim91/src/match.c:1389:15: branch_false: ...to here
vim91/src/match.c:1396:12: branch_false: following ‘false’ branch...
vim91/src/match.c:1398:13: branch_false: ...to here
vim91/src/match.c:1399:12: branch_false: following ‘false’ branch...
vim91/src/match.c:1406:15: branch_false: ...to here
vim91/src/match.c:1407:12: branch_true: following ‘true’ branch...
vim91/src/match.c:1409:17: branch_true: ...to here
vim91/src/match.c:1409:17: branch_false: following ‘false’ branch...
vim91/src/match.c:1415:17: branch_false: ...to here
vim91/src/match.c:1415:16: branch_false: following ‘false’ branch...
vim91/src/match.c:1423:13: branch_false: ...to here
vim91/src/match.c:1424: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:
vim91/src/mbyte.c: warning: -D_FORTIFY_SOURCE defined but value is too low

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/mbyte.c:4825:8: warning[-Wanalyzer-malloc-leak]: leak of ‘iconv_open(enc_skip(to), enc_skip(from))’
vim91/src/mbyte.c:5135:1: enter_function: entry to ‘convert_setup_ext’
vim91/src/mbyte.c:5157:8: branch_false: following ‘false’ branch...
vim91/src/mbyte.c:5157:9: branch_false: following ‘false’ branch (when the strings are non-equal)...
vim91/src/mbyte.c:5161:17: branch_false: ...to here
vim91/src/mbyte.c:5161:17: call_function: calling ‘enc_canon_props’ from ‘convert_setup_ext’
vim91/src/mbyte.c:5161:17: return_function: returning to ‘convert_setup_ext’ from ‘enc_canon_props’
vim91/src/mbyte.c:5162:15: call_function: calling ‘enc_canon_props’ from ‘convert_setup_ext’
vim91/src/mbyte.c:5162:15: return_function: returning to ‘convert_setup_ext’ from ‘enc_canon_props’
vim91/src/mbyte.c:5228:22: call_function: calling ‘my_iconv_open’ from ‘convert_setup_ext’
# 4823|       fd = iconv_open((char *)enc_skip(to), (char *)enc_skip(from));
# 4824|   
# 4825|->     if (fd != (iconv_t)-1 && iconv_ok == -1)
# 4826|       {
# 4827|   	/*

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/mbyte.c:4836:15: warning[-Wanalyzer-malloc-leak]: leak of ‘iconv_open(enc_skip(to), enc_skip(from))’
vim91/src/mbyte.c:5135:1: enter_function: entry to ‘convert_setup_ext’
vim91/src/mbyte.c:5157:8: branch_false: following ‘false’ branch...
vim91/src/mbyte.c:5157:9: branch_false: following ‘false’ branch (when the strings are non-equal)...
vim91/src/mbyte.c:5161:17: branch_false: ...to here
vim91/src/mbyte.c:5161:17: call_function: calling ‘enc_canon_props’ from ‘convert_setup_ext’
vim91/src/mbyte.c:5161:17: return_function: returning to ‘convert_setup_ext’ from ‘enc_canon_props’
vim91/src/mbyte.c:5162:15: call_function: calling ‘enc_canon_props’ from ‘convert_setup_ext’
vim91/src/mbyte.c:5162:15: return_function: returning to ‘convert_setup_ext’ from ‘enc_canon_props’
vim91/src/mbyte.c:5228:22: call_function: calling ‘my_iconv_open’ from ‘convert_setup_ext’
# 4834|   	p = (char *)tobuf;
# 4835|   	tolen = ICONV_TESTLEN;
# 4836|-> 	(void)iconv(fd, NULL, NULL, &p, &tolen);
# 4837|   	if (p == NULL)
# 4838|   	{

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

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

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

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

Error: GCC_ANALYZER_WARNING (CWE-404):
vim91/src/message.c:832:5: warning[-Wanalyzer-va-list-leak]: missing call to ‘va_end’
vim91/src/message.c:4085:1: enter_function: entry to ‘give_warning_with_source’
vim91/src/message.c:4098:8: branch_true: following ‘true’ branch (when ‘hl != 0’)...
vim91/src/message.c:4099:25: branch_true: ...to here
vim91/src/message.c:4103:8: branch_true: following ‘true’ branch (when ‘with_source != 0’)...
vim91/src/message.c:4107:9: branch_true: ...to here
vim91/src/message.c:4107:9: call_function: calling ‘msg_start’ from ‘give_warning_with_source’
#  830|   
#  831|       va_start(ap, s);
#  832|->     vim_vsnprintf((char *)IObuff, IOSIZE, s, ap);
#  833|       va_end(ap);
#  834|       return emsg_core((char *)IObuff);

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

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/misc1.c:906:13: warning[-Wanalyzer-malloc-leak]: leak of ‘buf’
vim91/src/misc1.c:884:12: branch_true: following ‘true’ branch (when ‘buf’ is NULL)...
vim91/src/misc1.c:885:19: branch_true: ...to here
vim91/src/misc1.c:898:12: branch_false: following ‘false’ branch (when ‘buf’ is non-NULL)...
vim91/src/misc1.c:906:42: branch_false: ...to here
vim91/src/misc1.c:906:13: branch_true: following ‘true’ branch...
vim91/src/misc1.c:906:13: branch_true: ...to here
vim91/src/misc1.c:907:12: branch_true: following ‘true’ branch...
vim91/src/misc1.c:910:17: branch_true: ...to here
vim91/src/misc1.c:918:12: branch_true: following ‘true’ branch...
vim91/src/misc1.c:919:20: branch_true: ...to here
vim91/src/misc1.c:918:13: branch_true: following ‘true’ branch...
vim91/src/misc1.c:918:12: branch_true: ...to here
vim91/src/misc1.c:884:12: branch_false: following ‘false’ branch (when ‘buf’ is non-NULL)...
vim91/src/misc1.c:886:17: branch_false: ...to here
vim91/src/misc1.c:894:16: branch_false: following ‘false’ branch (when ‘buf’ is non-NULL)...
vim91/src/misc1.c:896:23: branch_false: ...to here
vim91/src/misc1.c:898:12: branch_false: following ‘false’ branch (when ‘buf’ is non-NULL)...
vim91/src/misc1.c:906:42: branch_false: ...to here
vim91/src/misc1.c:906:13: branch_true: following ‘true’ branch...
vim91/src/misc1.c:906:13: branch_true: ...to here
vim91/src/misc1.c:906:13: danger: ‘buf’ leaks here; was allocated at [(15)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/14)
#  904|   	// First time: blocking wait.  Second time: wait up to 100ms for a
#  905|   	// terminal code to complete.
#  906|-> 	n = ui_inchar(buf + len, maxlen, len == 0 ? -1L : 100L, 0);
#  907|   	if (n > 0)
#  908|   	{

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/misc1.c:2458:16: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(vim_tempname(111, 0), "r")’
vim91/src/misc1.c:2421:8: branch_false: following ‘false’ branch...
vim91/src/misc1.c:2425:8: branch_false: following ‘false’ branch...
vim91/src/misc1.c:2432:15: branch_false: ...to here
vim91/src/misc1.c:2433:8: branch_false: following ‘false’ branch...
vim91/src/misc1.c:2440:5: branch_false: ...to here
vim91/src/misc1.c:2453:10: acquire_resource: opened here
vim91/src/misc1.c:2457:8: branch_false: following ‘false’ branch...
vim91/src/misc1.c:2458:16: branch_false: ...to here
vim91/src/misc1.c:2458:16: danger: ‘fopen(vim_tempname(111, 0), "r")’ leaks here; was opened at [(7)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/6)
# 2456|       // Not being able to seek means we can't read the file.
# 2457|       if (fd == NULL
# 2458|-> 	    || fseek(fd, 0L, SEEK_END) == -1
# 2459|   	    || (len = ftell(fd)) == -1		// get size of temp file
# 2460|   	    || fseek(fd, 0L, SEEK_SET) == -1)	// back to the start

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/misc1.c:2458:16: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(vim_tempname(111, 0), "r")’
vim91/src/misc1.c:2421:8: branch_false: following ‘false’ branch...
vim91/src/misc1.c:2425:8: branch_false: following ‘false’ branch...
vim91/src/misc1.c:2432:15: branch_false: ...to here
vim91/src/misc1.c:2433:8: branch_false: following ‘false’ branch...
vim91/src/misc1.c:2440:5: branch_false: ...to here
vim91/src/misc1.c:2453:10: acquire_memory: allocated here
vim91/src/misc1.c:2457:8: branch_false: following ‘false’ branch...
vim91/src/misc1.c:2458:16: branch_false: ...to here
vim91/src/misc1.c:2458:16: danger: ‘fopen(vim_tempname(111, 0), "r")’ leaks here; was allocated at [(7)](sarif:/runs/0/results/2/codeFlows/0/threadFlows/0/locations/6)
# 2456|       // Not being able to seek means we can't read the file.
# 2457|       if (fd == NULL
# 2458|-> 	    || fseek(fd, 0L, SEEK_END) == -1
# 2459|   	    || (len = ftell(fd)) == -1		// get size of temp file
# 2460|   	    || fseek(fd, 0L, SEEK_SET) == -1)	// back to the start

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/misc1.c:2459:23: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(vim_tempname(111, 0), "r")’
vim91/src/misc1.c:2421:8: branch_false: following ‘false’ branch...
vim91/src/misc1.c:2425:8: branch_false: following ‘false’ branch...
vim91/src/misc1.c:2432:15: branch_false: ...to here
vim91/src/misc1.c:2433:8: branch_false: following ‘false’ branch...
vim91/src/misc1.c:2440:5: branch_false: ...to here
vim91/src/misc1.c:2453:10: acquire_resource: opened here
vim91/src/misc1.c:2457:8: branch_false: following ‘false’ branch...
vim91/src/misc1.c:2458:16: branch_false: ...to here
vim91/src/misc1.c:2457:9: branch_false: following ‘false’ branch...
vim91/src/misc1.c:2459:23: branch_false: ...to here
vim91/src/misc1.c:2459:23: danger: ‘fopen(vim_tempname(111, 0), "r")’ leaks here; was opened at [(7)](sarif:/runs/0/results/3/codeFlows/0/threadFlows/0/locations/6)
# 2457|       if (fd == NULL
# 2458|   	    || fseek(fd, 0L, SEEK_END) == -1
# 2459|-> 	    || (len = ftell(fd)) == -1		// get size of temp file
# 2460|   	    || fseek(fd, 0L, SEEK_SET) == -1)	// back to the start
# 2461|       {

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/misc1.c:2459:23: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(vim_tempname(111, 0), "r")’
vim91/src/misc1.c:2421:8: branch_false: following ‘false’ branch...
vim91/src/misc1.c:2425:8: branch_false: following ‘false’ branch...
vim91/src/misc1.c:2432:15: branch_false: ...to here
vim91/src/misc1.c:2433:8: branch_false: following ‘false’ branch...
vim91/src/misc1.c:2440:5: branch_false: ...to here
vim91/src/misc1.c:2453:10: acquire_memory: allocated here
vim91/src/misc1.c:2457:8: branch_false: following ‘false’ branch...
vim91/src/misc1.c:2458:16: branch_false: ...to here
vim91/src/misc1.c:2457:9: branch_false: following ‘false’ branch...
vim91/src/misc1.c:2459:23: branch_false: ...to here
vim91/src/misc1.c:2459:23: danger: ‘fopen(vim_tempname(111, 0), "r")’ leaks here; was allocated at [(7)](sarif:/runs/0/results/4/codeFlows/0/threadFlows/0/locations/6)
# 2457|       if (fd == NULL
# 2458|   	    || fseek(fd, 0L, SEEK_END) == -1
# 2459|-> 	    || (len = ftell(fd)) == -1		// get size of temp file
# 2460|   	    || fseek(fd, 0L, SEEK_SET) == -1)	// back to the start
# 2461|       {

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/misc1.c:2460:16: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(vim_tempname(111, 0), "r")’
vim91/src/misc1.c:2421:8: branch_false: following ‘false’ branch...
vim91/src/misc1.c:2425:8: branch_false: following ‘false’ branch...
vim91/src/misc1.c:2432:15: branch_false: ...to here
vim91/src/misc1.c:2433:8: branch_false: following ‘false’ branch...
vim91/src/misc1.c:2440:5: branch_false: ...to here
vim91/src/misc1.c:2453:10: acquire_resource: opened here
vim91/src/misc1.c:2457:8: branch_false: following ‘false’ branch...
vim91/src/misc1.c:2458:16: branch_false: ...to here
vim91/src/misc1.c:2457:9: branch_false: following ‘false’ branch...
vim91/src/misc1.c:2459:23: branch_false: ...to here
vim91/src/misc1.c:2457:9: branch_false: following ‘false’ branch (when ‘len != -1’)...
vim91/src/misc1.c:2460:16: branch_false: ...to here
vim91/src/misc1.c:2460:16: danger: ‘fopen(vim_tempname(111, 0), "r")’ leaks here; was opened at [(7)](sarif:/runs/0/results/5/codeFlows/0/threadFlows/0/locations/6)
# 2458|   	    || fseek(fd, 0L, SEEK_END) == -1
# 2459|   	    || (len = ftell(fd)) == -1		// get size of temp file
# 2460|-> 	    || fseek(fd, 0L, SEEK_SET) == -1)	// back to the start
# 2461|       {
# 2462|   	semsg(_(e_cannot_read_from_str_2), tempname);

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/misc1.c:2460:16: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(vim_tempname(111, 0), "r")’
vim91/src/misc1.c:2421:8: branch_false: following ‘false’ branch...
vim91/src/misc1.c:2425:8: branch_false: following ‘false’ branch...
vim91/src/misc1.c:2432:15: branch_false: ...to here
vim91/src/misc1.c:2433:8: branch_false: following ‘false’ branch...
vim91/src/misc1.c:2440:5: branch_false: ...to here
vim91/src/misc1.c:2453:10: acquire_memory: allocated here
vim91/src/misc1.c:2457:8: branch_false: following ‘false’ branch...
vim91/src/misc1.c:2458:16: branch_false: ...to here
vim91/src/misc1.c:2457:9: branch_false: following ‘false’ branch...
vim91/src/misc1.c:2459:23: branch_false: ...to here
vim91/src/misc1.c:2457:9: branch_false: following ‘false’ branch (when ‘len != -1’)...
vim91/src/misc1.c:2460:16: branch_false: ...to here
vim91/src/misc1.c:2460:16: danger: ‘fopen(vim_tempname(111, 0), "r")’ leaks here; was allocated at [(7)](sarif:/runs/0/results/6/codeFlows/0/threadFlows/0/locations/6)
# 2458|   	    || fseek(fd, 0L, SEEK_END) == -1
# 2459|   	    || (len = ftell(fd)) == -1		// get size of temp file
# 2460|-> 	    || fseek(fd, 0L, SEEK_SET) == -1)	// back to the start
# 2461|       {
# 2462|   	semsg(_(e_cannot_read_from_str_2), tempname);

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/misc1.c:2462:9: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(vim_tempname(111, 0), "r")’
vim91/src/misc1.c:2421:8: branch_false: following ‘false’ branch...
vim91/src/misc1.c:2425:8: branch_false: following ‘false’ branch...
vim91/src/misc1.c:2432:15: branch_false: ...to here
vim91/src/misc1.c:2433:8: branch_false: following ‘false’ branch...
vim91/src/misc1.c:2440:5: branch_false: ...to here
vim91/src/misc1.c:2453:10: acquire_resource: opened here
vim91/src/misc1.c:2457:8: branch_false: following ‘false’ branch...
vim91/src/misc1.c:2458:16: branch_false: ...to here
vim91/src/misc1.c:2462:9: danger: ‘fopen(vim_tempname(111, 0), "r")’ leaks here; was opened at [(7)](sarif:/runs/0/results/7/codeFlows/0/threadFlows/0/locations/6)
# 2460|   	    || fseek(fd, 0L, SEEK_SET) == -1)	// back to the start
# 2461|       {
# 2462|-> 	semsg(_(e_cannot_read_from_str_2), tempname);
# 2463|   	if (fd != NULL)
# 2464|   	    fclose(fd);

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/misc1.c:2462:9: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(vim_tempname(111, 0), "r")’
vim91/src/misc1.c:2421:8: branch_false: following ‘false’ branch...
vim91/src/misc1.c:2425:8: branch_false: following ‘false’ branch...
vim91/src/misc1.c:2432:15: branch_false: ...to here
vim91/src/misc1.c:2433:8: branch_false: following ‘false’ branch...
vim91/src/misc1.c:2440:5: branch_false: ...to here
vim91/src/misc1.c:2453:10: acquire_memory: allocated here
vim91/src/misc1.c:2457:8: branch_false: following ‘false’ branch...
vim91/src/misc1.c:2458:16: branch_false: ...to here
vim91/src/misc1.c:2462:9: danger: ‘fopen(vim_tempname(111, 0), "r")’ leaks here; was allocated at [(7)](sarif:/runs/0/results/8/codeFlows/0/threadFlows/0/locations/6)
# 2460|   	    || fseek(fd, 0L, SEEK_SET) == -1)	// back to the start
# 2461|       {
# 2462|-> 	semsg(_(e_cannot_read_from_str_2), tempname);
# 2463|   	if (fd != NULL)
# 2464|   	    fclose(fd);

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/misc1.c:2468:14: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(vim_tempname(111, 0), "r")’
vim91/src/misc1.c:2421:8: branch_false: following ‘false’ branch...
vim91/src/misc1.c:2425:8: branch_false: following ‘false’ branch...
vim91/src/misc1.c:2432:15: branch_false: ...to here
vim91/src/misc1.c:2433:8: branch_false: following ‘false’ branch...
vim91/src/misc1.c:2440:5: branch_false: ...to here
vim91/src/misc1.c:2453:10: acquire_resource: opened here
vim91/src/misc1.c:2457:8: branch_false: following ‘false’ branch...
vim91/src/misc1.c:2458:16: branch_false: ...to here
vim91/src/misc1.c:2457:9: branch_false: following ‘false’ branch...
vim91/src/misc1.c:2459:23: branch_false: ...to here
vim91/src/misc1.c:2457:9: branch_false: following ‘false’ branch (when ‘len != -1’)...
vim91/src/misc1.c:2460:16: branch_false: ...to here
vim91/src/misc1.c:2457:9: branch_false: following ‘false’ branch...
vim91/src/misc1.c:2468:20: branch_false: ...to here
vim91/src/misc1.c:2468:14: danger: ‘fopen(vim_tempname(111, 0), "r")’ leaks here; was opened at [(7)](sarif:/runs/0/results/9/codeFlows/0/threadFlows/0/locations/6)
# 2466|       }
# 2467|   
# 2468|->     buffer = alloc(len + 1);
# 2469|       if (buffer != NULL)
# 2470|   	i = (int)fread((char *)buffer, (size_t)1, (size_t)len, fd);

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/misc1.c:2468:14: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(vim_tempname(111, 0), "r")’
vim91/src/misc1.c:2421:8: branch_false: following ‘false’ branch...
vim91/src/misc1.c:2425:8: branch_false: following ‘false’ branch...
vim91/src/misc1.c:2432:15: branch_false: ...to here
vim91/src/misc1.c:2433:8: branch_false: following ‘false’ branch...
vim91/src/misc1.c:2440:5: branch_false: ...to here
vim91/src/misc1.c:2453:10: acquire_memory: allocated here
vim91/src/misc1.c:2457:8: branch_false: following ‘false’ branch...
vim91/src/misc1.c:2458:16: branch_false: ...to here
vim91/src/misc1.c:2457:9: branch_false: following ‘false’ branch...
vim91/src/misc1.c:2459:23: branch_false: ...to here
vim91/src/misc1.c:2457:9: branch_false: following ‘false’ branch (when ‘len != -1’)...
vim91/src/misc1.c:2460:16: branch_false: ...to here
vim91/src/misc1.c:2457:9: branch_false: following ‘false’ branch...
vim91/src/misc1.c:2468:20: branch_false: ...to here
vim91/src/misc1.c:2468:14: danger: ‘fopen(vim_tempname(111, 0), "r")’ leaks here; was allocated at [(7)](sarif:/runs/0/results/10/codeFlows/0/threadFlows/0/locations/6)
# 2466|       }
# 2467|   
# 2468|->     buffer = alloc(len + 1);
# 2469|       if (buffer != NULL)
# 2470|   	i = (int)fread((char *)buffer, (size_t)1, (size_t)len, fd);

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/misc1.c:2550:19: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(vim_tempname(105, 1), "w")’
vim91/src/misc1.c:2518:8: branch_false: following ‘false’ branch...
vim91/src/misc1.c:2527:8: branch_true: following ‘true’ branch...
vim91/src/misc1.c:2533:23: branch_true: ...to here
vim91/src/misc1.c:2533:12: branch_false: following ‘false’ branch...
vim91/src/misc1.c:2539:14: branch_false: ...to here
vim91/src/misc1.c:2539:14: acquire_resource: opened here
vim91/src/misc1.c:2540:12: branch_false: following ‘false’ branch...
vim91/src/misc1.c:2545:13: branch_false: ...to here
vim91/src/misc1.c:2545:12: branch_true: following ‘true’ branch...
vim91/src/misc1.c:2550:34: branch_true: ...to here
vim91/src/misc1.c:2550:19: danger: ‘fopen(vim_tempname(105, 1), "w")’ leaks here; was opened at [(7)](sarif:/runs/0/results/11/codeFlows/0/threadFlows/0/locations/6)
# 2548|   	    buf_T	*buf;
# 2549|   
# 2550|-> 	    buf = buflist_findnr(argvars[1].vval.v_number);
# 2551|   	    if (buf == NULL)
# 2552|   	    {

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/misc1.c:2550:19: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(vim_tempname(105, 1), "w")’
vim91/src/misc1.c:2518:8: branch_false: following ‘false’ branch...
vim91/src/misc1.c:2527:8: branch_true: following ‘true’ branch...
vim91/src/misc1.c:2533:23: branch_true: ...to here
vim91/src/misc1.c:2533:12: branch_false: following ‘false’ branch...
vim91/src/misc1.c:2539:14: branch_false: ...to here
vim91/src/misc1.c:2539:14: acquire_memory: allocated here
vim91/src/misc1.c:2540:12: branch_false: following ‘false’ branch...
vim91/src/misc1.c:2545:13: branch_false: ...to here
vim91/src/misc1.c:2545:12: branch_true: following ‘true’ branch...
vim91/src/misc1.c:2550:34: branch_true: ...to here
vim91/src/misc1.c:2550:19: danger: ‘fopen(vim_tempname(105, 1), "w")’ leaks here; was allocated at [(7)](sarif:/runs/0/results/12/codeFlows/0/threadFlows/0/locations/6)
# 2548|   	    buf_T	*buf;
# 2549|   
# 2550|-> 	    buf = buflist_findnr(argvars[1].vval.v_number);
# 2551|   	    if (buf == NULL)
# 2552|   	    {

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/misc1.c:2553:17: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(vim_tempname(105, 1), "w")’
vim91/src/misc1.c:2518:8: branch_false: following ‘false’ branch...
vim91/src/misc1.c:2527:8: branch_true: following ‘true’ branch...
vim91/src/misc1.c:2533:23: branch_true: ...to here
vim91/src/misc1.c:2533:12: branch_false: following ‘false’ branch...
vim91/src/misc1.c:2539:14: branch_false: ...to here
vim91/src/misc1.c:2539:14: acquire_resource: opened here
vim91/src/misc1.c:2540:12: branch_false: following ‘false’ branch...
vim91/src/misc1.c:2545:13: branch_false: ...to here
vim91/src/misc1.c:2545:12: branch_true: following ‘true’ branch...
vim91/src/misc1.c:2550:34: branch_true: ...to here
vim91/src/misc1.c:2551:16: branch_true: following ‘true’ branch...
vim91/src/misc1.c:2553:17: branch_true: ...to here
vim91/src/misc1.c:2553:17: danger: ‘fopen(vim_tempname(105, 1), "w")’ leaks here; was opened at [(7)](sarif:/runs/0/results/13/codeFlows/0/threadFlows/0/locations/6)
# 2551|   	    if (buf == NULL)
# 2552|   	    {
# 2553|-> 		semsg(_(e_buffer_nr_does_not_exist), argvars[1].vval.v_number);
# 2554|   		fclose(fd);
# 2555|   		goto errret;

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/misc1.c:2553:17: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(vim_tempname(105, 1), "w")’
vim91/src/misc1.c:2518:8: branch_false: following ‘false’ branch...
vim91/src/misc1.c:2527:8: branch_true: following ‘true’ branch...
vim91/src/misc1.c:2533:23: branch_true: ...to here
vim91/src/misc1.c:2533:12: branch_false: following ‘false’ branch...
vim91/src/misc1.c:2539:14: branch_false: ...to here
vim91/src/misc1.c:2539:14: acquire_memory: allocated here
vim91/src/misc1.c:2540:12: branch_false: following ‘false’ branch...
vim91/src/misc1.c:2545:13: branch_false: ...to here
vim91/src/misc1.c:2545:12: branch_true: following ‘true’ branch...
vim91/src/misc1.c:2550:34: branch_true: ...to here
vim91/src/misc1.c:2551:16: branch_true: following ‘true’ branch...
vim91/src/misc1.c:2553:17: branch_true: ...to here
vim91/src/misc1.c:2553:17: danger: ‘fopen(vim_tempname(105, 1), "w")’ leaks here; was allocated at [(7)](sarif:/runs/0/results/14/codeFlows/0/threadFlows/0/locations/6)
# 2551|   	    if (buf == NULL)
# 2552|   	    {
# 2553|-> 		semsg(_(e_buffer_nr_does_not_exist), argvars[1].vval.v_number);
# 2554|   		fclose(fd);
# 2555|   		goto errret;

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/misc1.c:2560:26: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(vim_tempname(105, 1), "w")’
vim91/src/misc1.c:2518:8: branch_false: following ‘false’ branch...
vim91/src/misc1.c:2527:8: branch_true: following ‘true’ branch...
vim91/src/misc1.c:2533:23: branch_true: ...to here
vim91/src/misc1.c:2533:12: branch_false: following ‘false’ branch...
vim91/src/misc1.c:2539:14: branch_false: ...to here
vim91/src/misc1.c:2539:14: acquire_resource: opened here
vim91/src/misc1.c:2540:12: branch_false: following ‘false’ branch...
vim91/src/misc1.c:2545:13: branch_false: ...to here
vim91/src/misc1.c:2545:12: branch_true: following ‘true’ branch...
vim91/src/misc1.c:2550:34: branch_true: ...to here
vim91/src/misc1.c:2551:16: branch_false: following ‘false’ branch...
<unknown>: branch_false: ...to here
vim91/src/misc1.c:2558:28: branch_true: following ‘true’ branch...
vim91/src/misc1.c:2560:26: branch_true: ...to here
vim91/src/misc1.c:2560:26: danger: ‘fopen(vim_tempname(105, 1), "w")’ leaks here; was opened at [(7)](sarif:/runs/0/results/15/codeFlows/0/threadFlows/0/locations/6)
# 2558|   	    for (lnum = 1; lnum <= buf->b_ml.ml_line_count; lnum++)
# 2559|   	    {
# 2560|-> 		for (p = ml_get_buf(buf, lnum, FALSE); *p != NUL; ++p)
# 2561|   		    if (putc(*p == '\n' ? NUL : *p, fd) == EOF)
# 2562|   		    {

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/misc1.c:2560:26: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(vim_tempname(105, 1), "w")’
vim91/src/misc1.c:2518:8: branch_false: following ‘false’ branch...
vim91/src/misc1.c:2527:8: branch_true: following ‘true’ branch...
vim91/src/misc1.c:2533:23: branch_true: ...to here
vim91/src/misc1.c:2533:12: branch_false: following ‘false’ branch...
vim91/src/misc1.c:2539:14: branch_false: ...to here
vim91/src/misc1.c:2539:14: acquire_memory: allocated here
vim91/src/misc1.c:2540:12: branch_false: following ‘false’ branch...
vim91/src/misc1.c:2545:13: branch_false: ...to here
vim91/src/misc1.c:2545:12: branch_true: following ‘true’ branch...
vim91/src/misc1.c:2550:34: branch_true: ...to here
vim91/src/misc1.c:2551:16: branch_false: following ‘false’ branch...
<unknown>: branch_false: ...to here
vim91/src/misc1.c:2558:28: branch_true: following ‘true’ branch...
vim91/src/misc1.c:2560:26: branch_true: ...to here
vim91/src/misc1.c:2560:26: danger: ‘fopen(vim_tempname(105, 1), "w")’ leaks here; was allocated at [(7)](sarif:/runs/0/results/16/codeFlows/0/threadFlows/0/locations/6)
# 2558|   	    for (lnum = 1; lnum <= buf->b_ml.ml_line_count; lnum++)
# 2559|   	    {
# 2560|-> 		for (p = ml_get_buf(buf, lnum, FALSE); *p != NUL; ++p)
# 2561|   		    if (putc(*p == '\n' ? NUL : *p, fd) == EOF)
# 2562|   		    {

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/misc1.c:2575:17: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(vim_tempname(105, 1), "w")’
vim91/src/misc1.c:2518:8: branch_false: following ‘false’ branch...
vim91/src/misc1.c:2527:8: branch_true: following ‘true’ branch...
vim91/src/misc1.c:2533:23: branch_true: ...to here
vim91/src/misc1.c:2533:12: branch_false: following ‘false’ branch...
vim91/src/misc1.c:2539:14: branch_false: ...to here
vim91/src/misc1.c:2539:14: acquire_resource: opened here
vim91/src/misc1.c:2540:12: branch_false: following ‘false’ branch...
vim91/src/misc1.c:2545:13: branch_false: ...to here
vim91/src/misc1.c:2545:12: branch_false: following ‘false’ branch...
vim91/src/misc1.c:2573:17: branch_false: ...to here
vim91/src/misc1.c:2573:17: branch_true: following ‘true’ branch...
vim91/src/misc1.c:2575:17: branch_true: ...to here
vim91/src/misc1.c:2575:17: danger: ‘fopen(vim_tempname(105, 1), "w")’ leaks here; was opened at [(7)](sarif:/runs/0/results/17/codeFlows/0/threadFlows/0/locations/6)
# 2573|   	else if (argvars[1].v_type == VAR_LIST)
# 2574|   	{
# 2575|-> 	    if (write_list(fd, argvars[1].vval.v_list, TRUE) == FAIL)
# 2576|   		err = TRUE;
# 2577|   	}

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/misc1.c:2575:17: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(vim_tempname(105, 1), "w")’
vim91/src/misc1.c:2518:8: branch_false: following ‘false’ branch...
vim91/src/misc1.c:2527:8: branch_true: following ‘true’ branch...
vim91/src/misc1.c:2533:23: branch_true: ...to here
vim91/src/misc1.c:2533:12: branch_false: following ‘false’ branch...
vim91/src/misc1.c:2539:14: branch_false: ...to here
vim91/src/misc1.c:2539:14: acquire_memory: allocated here
vim91/src/misc1.c:2540:12: branch_false: following ‘false’ branch...
vim91/src/misc1.c:2545:13: branch_false: ...to here
vim91/src/misc1.c:2545:12: branch_false: following ‘false’ branch...
vim91/src/misc1.c:2573:17: branch_false: ...to here
vim91/src/misc1.c:2573:17: branch_true: following ‘true’ branch...
vim91/src/misc1.c:2575:17: branch_true: ...to here
vim91/src/misc1.c:2575:17: danger: ‘fopen(vim_tempname(105, 1), "w")’ leaks here; was allocated at [(7)](sarif:/runs/0/results/18/codeFlows/0/threadFlows/0/locations/6)
# 2573|   	else if (argvars[1].v_type == VAR_LIST)
# 2574|   	{
# 2575|-> 	    if (write_list(fd, argvars[1].vval.v_list, TRUE) == FAIL)
# 2576|   		err = TRUE;
# 2577|   	}

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/misc1.c:2583:17: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(vim_tempname(105, 1), "w")’
vim91/src/misc1.c:2518:8: branch_false: following ‘false’ branch...
vim91/src/misc1.c:2527:8: branch_true: following ‘true’ branch...
vim91/src/misc1.c:2533:23: branch_true: ...to here
vim91/src/misc1.c:2533:12: branch_false: following ‘false’ branch...
vim91/src/misc1.c:2539:14: branch_false: ...to here
vim91/src/misc1.c:2539:14: acquire_resource: opened here
vim91/src/misc1.c:2540:12: branch_false: following ‘false’ branch...
vim91/src/misc1.c:2545:13: branch_false: ...to here
vim91/src/misc1.c:2545:12: branch_false: following ‘false’ branch...
vim91/src/misc1.c:2573:17: branch_false: ...to here
vim91/src/misc1.c:2573:17: branch_false: following ‘false’ branch...
vim91/src/misc1.c:2583:17: branch_false: ...to here
vim91/src/misc1.c:2583:17: danger: ‘fopen(vim_tempname(105, 1), "w")’ leaks here; was opened at [(7)](sarif:/runs/0/results/19/codeFlows/0/threadFlows/0/locations/6)
# 2581|   	    char_u	buf[NUMBUFLEN];
# 2582|   
# 2583|-> 	    p = tv_get_string_buf_chk(&argvars[1], buf);
# 2584|   	    if (p == NULL)
# 2585|   	    {

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/misc1.c:2583:17: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(vim_tempname(105, 1), "w")’
vim91/src/misc1.c:2518:8: branch_false: following ‘false’ branch...
vim91/src/misc1.c:2527:8: branch_true: following ‘true’ branch...
vim91/src/misc1.c:2533:23: branch_true: ...to here
vim91/src/misc1.c:2533:12: branch_false: following ‘false’ branch...
vim91/src/misc1.c:2539:14: branch_false: ...to here
vim91/src/misc1.c:2539:14: acquire_memory: allocated here
vim91/src/misc1.c:2540:12: branch_false: following ‘false’ branch...
vim91/src/misc1.c:2545:13: branch_false: ...to here
vim91/src/misc1.c:2545:12: branch_false: following ‘false’ branch...
vim91/src/misc1.c:2573:17: branch_false: ...to here
vim91/src/misc1.c:2573:17: branch_false: following ‘false’ branch...
vim91/src/misc1.c:2583:17: branch_false: ...to here
vim91/src/misc1.c:2583:17: danger: ‘fopen(vim_tempname(105, 1), "w")’ leaks here; was allocated at [(7)](sarif:/runs/0/results/20/codeFlows/0/threadFlows/0/locations/6)
# 2581|   	    char_u	buf[NUMBUFLEN];
# 2582|   
# 2583|-> 	    p = tv_get_string_buf_chk(&argvars[1], buf);
# 2584|   	    if (p == NULL)
# 2585|   	    {

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

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

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

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

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

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

Error: GCC_ANALYZER_WARNING (CWE-404):
vim91/src/netbeans.c:2273:5: warning[-Wanalyzer-va-list-leak]: missing call to ‘va_end’
vim91/src/netbeans.c:2272:5: acquire_resource: ‘va_start’ called here
vim91/src/netbeans.c:2273:5: danger: missing call to ‘va_end’ to match ‘va_start’ at [(1)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/0)
# 2271|   
# 2272|       va_start(ap, cmd);
# 2273|->     vim_vsnprintf(buf, sizeof(buf), cmd, ap);
# 2274|       va_end(ap);
# 2275|   

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

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

Error: GCC_ANALYZER_WARNING (CWE-457):
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):
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):
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: COMPILER_WARNING:
vim91/src/option.c: warning: -D_FORTIFY_SOURCE defined but value is too low

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

Error: GCC_ANALYZER_WARNING (CWE-476):
vim91/src/option.c:8529:13: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘0’
vim91/src/option.c:8512:1: enter_function: entry to ‘option_value2string’
vim91/src/option.c:8518:12: call_function: calling ‘get_varp_scope’ from ‘option_value2string’
vim91/src/option.c:8518:12: return_function: returning to ‘option_value2string’ from ‘get_varp_scope’
vim91/src/option.c:8520:8: branch_true: following ‘true’ branch...
vim91/src/option.c:8522:14: branch_true: ...to here
vim91/src/option.c:8524:13: call_function: calling ‘wc_use_keyname’ from ‘option_value2string’
vim91/src/option.c:8524:13: return_function: returning to ‘option_value2string’ from ‘wc_use_keyname’
vim91/src/option.c:8524:12: branch_false: following ‘false’ branch...
vim91/src/option.c:8526:18: branch_false: ...to here
vim91/src/option.c:8526:17: branch_false: following ‘false’ branch...
vim91/src/option.c:8529:13: branch_false: ...to here
vim91/src/option.c:8529:13: danger: dereference of NULL ‘get_varp_scope(opp,  scope)’
# 8527|   	    STRCPY(NameBuff, transchar((int)wc));
# 8528|   	else
# 8529|-> 	    sprintf((char *)NameBuff, "%ld", *(long *)varp);
# 8530|       }
# 8531|       else    // P_STRING

Error: GCC_ANALYZER_WARNING (CWE-476):
vim91/src/option.c:8533:9: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘0’
vim91/src/option.c:8512:1: enter_function: entry to ‘option_value2string’
vim91/src/option.c:8518:12: call_function: calling ‘get_varp_scope’ from ‘option_value2string’
vim91/src/option.c:8518:12: return_function: returning to ‘option_value2string’ from ‘get_varp_scope’
vim91/src/option.c:8520:8: branch_false: following ‘false’ branch...
vim91/src/option.c:8533:9: branch_false: ...to here
vim91/src/option.c:8533:9: danger: dereference of NULL ‘get_varp_scope(opp,  scope)’
# 8531|       else    // P_STRING
# 8532|       {
# 8533|-> 	varp = *(char_u **)(varp);
# 8534|   	if (varp == NULL)		    // just in case
# 8535|   	    NameBuff[0] = NUL;

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

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

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/os_unix.c:605:5: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘fromshell_fd’
vim91/src/os_unix.c:5069:1: enter_function: entry to ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: call_function: calling ‘unix_build_argv’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: return_function: returning to ‘mch_call_shell_fork’ from ‘unix_build_argv’
vim91/src/os_unix.c:5103:8: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5111:9: branch_false: ...to here
vim91/src/os_unix.c:5111:8: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5131:27: branch_true: ...to here
vim91/src/os_unix.c:5132:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5134:31: branch_true: ...to here
vim91/src/os_unix.c:5135:20: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5141:16: branch_false: ...to here
vim91/src/os_unix.c:5141:16: branch_false: following ‘false’ branch (when ‘pipe_error == 0’)...
vim91/src/os_unix.c:5152:9: branch_false: ...to here
vim91/src/os_unix.c:5154:12: branch_false: following ‘false’ branch (when ‘pid != -1’)...
vim91/src/os_unix.c:5181:17: branch_false: ...to here
vim91/src/os_unix.c:5181:17: branch_false: following ‘false’ branch (when ‘pid != 0’)...
vim91/src/os_unix.c:5333:13: branch_false: ...to here
vim91/src/os_unix.c:5344:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5376:21: branch_true: ...to here
vim91/src/os_unix.c:5403:20: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5403:21: branch_true: ...to here
vim91/src/os_unix.c:5611:28: call_function: calling ‘RealWaitForChar’ from ‘mch_call_shell_fork’
#  603|   {
#  604|       do_resize = FALSE;
#  605|->     shell_resized();
#  606|   }
#  607|   

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/os_unix.c:605:5: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘toshell_fd’
vim91/src/os_unix.c:5069:1: enter_function: entry to ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: call_function: calling ‘unix_build_argv’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: return_function: returning to ‘mch_call_shell_fork’ from ‘unix_build_argv’
vim91/src/os_unix.c:5103:8: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5111:9: branch_false: ...to here
vim91/src/os_unix.c:5111:8: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5131:27: branch_true: ...to here
vim91/src/os_unix.c:5132:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5134:31: branch_true: ...to here
vim91/src/os_unix.c:5135:20: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5141:16: branch_false: ...to here
vim91/src/os_unix.c:5141:16: branch_false: following ‘false’ branch (when ‘pipe_error == 0’)...
vim91/src/os_unix.c:5152:9: branch_false: ...to here
vim91/src/os_unix.c:5154:12: branch_false: following ‘false’ branch (when ‘pid != -1’)...
vim91/src/os_unix.c:5181:17: branch_false: ...to here
vim91/src/os_unix.c:5181:17: branch_false: following ‘false’ branch (when ‘pid != 0’)...
vim91/src/os_unix.c:5333:13: branch_false: ...to here
vim91/src/os_unix.c:5344:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5376:21: branch_true: ...to here
vim91/src/os_unix.c:5403:20: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5403:21: branch_true: ...to here
vim91/src/os_unix.c:5611:28: call_function: calling ‘RealWaitForChar’ from ‘mch_call_shell_fork’
#  603|   {
#  604|       do_resize = FALSE;
#  605|->     shell_resized();
#  606|   }
#  607|   

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/os_unix.c:4665:20: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘fd_fromshell[(int)wpid]’
vim91/src/os_unix.c:5069:1: enter_function: entry to ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: call_function: calling ‘unix_build_argv’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: return_function: returning to ‘mch_call_shell_fork’ from ‘unix_build_argv’
vim91/src/os_unix.c:5103:8: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5111:9: branch_false: ...to here
vim91/src/os_unix.c:5111:8: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5131:27: branch_true: ...to here
vim91/src/os_unix.c:5132:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5134:31: branch_true: ...to here
vim91/src/os_unix.c:5135:20: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5141:16: branch_false: ...to here
vim91/src/os_unix.c:5141:16: branch_false: following ‘false’ branch (when ‘pipe_error == 0’)...
vim91/src/os_unix.c:5152:9: branch_false: ...to here
vim91/src/os_unix.c:5154:12: branch_false: following ‘false’ branch (when ‘pid != -1’)...
vim91/src/os_unix.c:5181:17: branch_false: ...to here
vim91/src/os_unix.c:5181:17: branch_false: following ‘false’ branch (when ‘pid != 0’)...
vim91/src/os_unix.c:5333:13: branch_false: ...to here
vim91/src/os_unix.c:5344:16: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5841:16: branch_false: ...to here
vim91/src/os_unix.c:5841:16: branch_true: following ‘true’ branch (when ‘wait_pid != pid’)...
vim91/src/os_unix.c:5842:23: branch_true: ...to here
vim91/src/os_unix.c:5842:23: call_function: calling ‘wait4pid’ from ‘mch_call_shell_fork’
# 4663|   	wait_pid = wait4(child, status, WNOHANG, (struct rusage *)0);
# 4664|   # else
# 4665|-> 	wait_pid = waitpid(child, status, WNOHANG);
# 4666|   # endif
# 4667|   	if (wait_pid == 0)

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/os_unix.c:4665:20: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘fd_fromshell[1]’
vim91/src/os_unix.c:5069:1: enter_function: entry to ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: call_function: calling ‘unix_build_argv’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: return_function: returning to ‘mch_call_shell_fork’ from ‘unix_build_argv’
vim91/src/os_unix.c:5103:8: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5111:9: branch_false: ...to here
vim91/src/os_unix.c:5111:8: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5131:27: branch_true: ...to here
vim91/src/os_unix.c:5132:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5134:31: branch_true: ...to here
vim91/src/os_unix.c:5135:20: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5141:16: branch_false: ...to here
vim91/src/os_unix.c:5141:16: branch_false: following ‘false’ branch (when ‘pipe_error == 0’)...
vim91/src/os_unix.c:5152:9: branch_false: ...to here
vim91/src/os_unix.c:5154:12: branch_false: following ‘false’ branch (when ‘pid != -1’)...
vim91/src/os_unix.c:5181:17: branch_false: ...to here
vim91/src/os_unix.c:5181:17: branch_false: following ‘false’ branch (when ‘pid != 0’)...
vim91/src/os_unix.c:5333:13: branch_false: ...to here
vim91/src/os_unix.c:5344:16: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5841:16: branch_false: ...to here
vim91/src/os_unix.c:5841:16: branch_true: following ‘true’ branch (when ‘wait_pid != pid’)...
vim91/src/os_unix.c:5842:23: branch_true: ...to here
vim91/src/os_unix.c:5842:23: call_function: calling ‘wait4pid’ from ‘mch_call_shell_fork’
# 4663|   	wait_pid = wait4(child, status, WNOHANG, (struct rusage *)0);
# 4664|   # else
# 4665|-> 	wait_pid = waitpid(child, status, WNOHANG);
# 4666|   # endif
# 4667|   	if (wait_pid == 0)

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/os_unix.c:4665:20: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘fd_toshell[(int)wpid]’
vim91/src/os_unix.c:5069:1: enter_function: entry to ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: call_function: calling ‘unix_build_argv’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: return_function: returning to ‘mch_call_shell_fork’ from ‘unix_build_argv’
vim91/src/os_unix.c:5103:8: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5111:9: branch_false: ...to here
vim91/src/os_unix.c:5111:8: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5131:27: branch_true: ...to here
vim91/src/os_unix.c:5132:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5134:31: branch_true: ...to here
vim91/src/os_unix.c:5135:20: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5141:16: branch_false: ...to here
vim91/src/os_unix.c:5141:16: branch_false: following ‘false’ branch (when ‘pipe_error == 0’)...
vim91/src/os_unix.c:5152:9: branch_false: ...to here
vim91/src/os_unix.c:5154:12: branch_false: following ‘false’ branch (when ‘pid != -1’)...
vim91/src/os_unix.c:5181:17: branch_false: ...to here
vim91/src/os_unix.c:5181:17: branch_false: following ‘false’ branch (when ‘pid != 0’)...
vim91/src/os_unix.c:5333:13: branch_false: ...to here
vim91/src/os_unix.c:5344:16: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5841:16: branch_false: ...to here
vim91/src/os_unix.c:5841:16: branch_true: following ‘true’ branch (when ‘wait_pid != pid’)...
vim91/src/os_unix.c:5842:23: branch_true: ...to here
vim91/src/os_unix.c:5842:23: call_function: calling ‘wait4pid’ from ‘mch_call_shell_fork’
# 4663|   	wait_pid = wait4(child, status, WNOHANG, (struct rusage *)0);
# 4664|   # else
# 4665|-> 	wait_pid = waitpid(child, status, WNOHANG);
# 4666|   # endif
# 4667|   	if (wait_pid == 0)

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/os_unix.c:4665:20: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘fd_toshell[1]’
vim91/src/os_unix.c:5069:1: enter_function: entry to ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: call_function: calling ‘unix_build_argv’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: return_function: returning to ‘mch_call_shell_fork’ from ‘unix_build_argv’
vim91/src/os_unix.c:5103:8: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5111:9: branch_false: ...to here
vim91/src/os_unix.c:5111:8: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5131:27: branch_true: ...to here
vim91/src/os_unix.c:5132:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5134:31: branch_true: ...to here
vim91/src/os_unix.c:5135:20: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5141:16: branch_false: ...to here
vim91/src/os_unix.c:5141:16: branch_false: following ‘false’ branch (when ‘pipe_error == 0’)...
vim91/src/os_unix.c:5152:9: branch_false: ...to here
vim91/src/os_unix.c:5154:12: branch_false: following ‘false’ branch (when ‘pid != -1’)...
vim91/src/os_unix.c:5181:17: branch_false: ...to here
vim91/src/os_unix.c:5181:17: branch_false: following ‘false’ branch (when ‘pid != 0’)...
vim91/src/os_unix.c:5333:13: branch_false: ...to here
vim91/src/os_unix.c:5344:16: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5841:16: branch_false: ...to here
vim91/src/os_unix.c:5841:16: branch_true: following ‘true’ branch (when ‘wait_pid != pid’)...
vim91/src/os_unix.c:5842:23: branch_true: ...to here
vim91/src/os_unix.c:5842:23: call_function: calling ‘wait4pid’ from ‘mch_call_shell_fork’
# 4663|   	wait_pid = wait4(child, status, WNOHANG, (struct rusage *)0);
# 4664|   # else
# 4665|-> 	wait_pid = waitpid(child, status, WNOHANG);
# 4666|   # endif
# 4667|   	if (wait_pid == 0)

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/os_unix.c:5137:21: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘fd_toshell[0]’
vim91/src/os_unix.c:5069:1: enter_function: entry to ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: call_function: calling ‘unix_build_argv’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: return_function: returning to ‘mch_call_shell_fork’ from ‘unix_build_argv’
vim91/src/os_unix.c:5103:8: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5111:9: branch_false: ...to here
vim91/src/os_unix.c:5111:8: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5131:27: branch_true: ...to here
vim91/src/os_unix.c:5132:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5134:31: branch_true: ...to here
vim91/src/os_unix.c:5135:20: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5137:21: branch_true: ...to here
vim91/src/os_unix.c:5137:21: danger: ‘fd_toshell[0]’ leaks here
# 5135|   		if (pipe_error)			    // pipe create failed
# 5136|   		{
# 5137|-> 		    close(fd_toshell[0]);
# 5138|   		    close(fd_toshell[1]);
# 5139|   		}

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/os_unix.c:5137:21: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘fd_toshell[1]’
vim91/src/os_unix.c:5069:1: enter_function: entry to ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: call_function: calling ‘unix_build_argv’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: return_function: returning to ‘mch_call_shell_fork’ from ‘unix_build_argv’
vim91/src/os_unix.c:5103:8: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5111:9: branch_false: ...to here
vim91/src/os_unix.c:5111:8: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5131:27: branch_true: ...to here
vim91/src/os_unix.c:5132:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5134:31: branch_true: ...to here
vim91/src/os_unix.c:5135:20: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5137:21: branch_true: ...to here
vim91/src/os_unix.c:5137:21: danger: ‘fd_toshell[1]’ leaks here
# 5135|   		if (pipe_error)			    // pipe create failed
# 5136|   		{
# 5137|-> 		    close(fd_toshell[0]);
# 5138|   		    close(fd_toshell[1]);
# 5139|   		}

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/os_unix.c:5138:21: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘fd_toshell[1]’
vim91/src/os_unix.c:5069:1: enter_function: entry to ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: call_function: calling ‘unix_build_argv’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: return_function: returning to ‘mch_call_shell_fork’ from ‘unix_build_argv’
vim91/src/os_unix.c:5103:8: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5111:9: branch_false: ...to here
vim91/src/os_unix.c:5111:8: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5131:27: branch_true: ...to here
vim91/src/os_unix.c:5132:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5134:31: branch_true: ...to here
vim91/src/os_unix.c:5135:20: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5137:21: branch_true: ...to here
vim91/src/os_unix.c:5138:21: danger: ‘fd_toshell[1]’ leaks here
# 5136|   		{
# 5137|   		    close(fd_toshell[0]);
# 5138|-> 		    close(fd_toshell[1]);
# 5139|   		}
# 5140|   	    }

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/os_unix.c:5158:13: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘fd_fromshell[0]’
vim91/src/os_unix.c:5069:1: enter_function: entry to ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: call_function: calling ‘unix_build_argv’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: return_function: returning to ‘mch_call_shell_fork’ from ‘unix_build_argv’
vim91/src/os_unix.c:5103:8: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5111:9: branch_false: ...to here
vim91/src/os_unix.c:5111:8: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5131:27: branch_true: ...to here
vim91/src/os_unix.c:5132:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5134:31: branch_true: ...to here
vim91/src/os_unix.c:5135:20: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5141:16: branch_false: ...to here
vim91/src/os_unix.c:5141:16: branch_false: following ‘false’ branch (when ‘pipe_error == 0’)...
vim91/src/os_unix.c:5152:9: branch_false: ...to here
vim91/src/os_unix.c:5154:12: branch_true: following ‘true’ branch (when ‘pid == -1’)...
vim91/src/os_unix.c:5156:13: call_function: inlined call to ‘unblock_signals’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5158:13: danger: ‘fd_fromshell[0]’ leaks here
# 5156|   	    UNBLOCK_SIGNALS(&curset);
# 5157|   
# 5158|-> 	    msg_puts(_("\nCannot fork\n"));
# 5159|   	    if ((options & (SHELL_READ|SHELL_WRITE))
# 5160|   # ifdef FEAT_GUI

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/os_unix.c:5158:13: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘fd_fromshell[1]’
vim91/src/os_unix.c:5069:1: enter_function: entry to ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: call_function: calling ‘unix_build_argv’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: return_function: returning to ‘mch_call_shell_fork’ from ‘unix_build_argv’
vim91/src/os_unix.c:5103:8: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5111:9: branch_false: ...to here
vim91/src/os_unix.c:5111:8: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5131:27: branch_true: ...to here
vim91/src/os_unix.c:5132:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5134:31: branch_true: ...to here
vim91/src/os_unix.c:5135:20: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5141:16: branch_false: ...to here
vim91/src/os_unix.c:5141:16: branch_false: following ‘false’ branch (when ‘pipe_error == 0’)...
vim91/src/os_unix.c:5152:9: branch_false: ...to here
vim91/src/os_unix.c:5154:12: branch_true: following ‘true’ branch (when ‘pid == -1’)...
vim91/src/os_unix.c:5156:13: call_function: inlined call to ‘unblock_signals’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5158:13: danger: ‘fd_fromshell[1]’ leaks here
# 5156|   	    UNBLOCK_SIGNALS(&curset);
# 5157|   
# 5158|-> 	    msg_puts(_("\nCannot fork\n"));
# 5159|   	    if ((options & (SHELL_READ|SHELL_WRITE))
# 5160|   # ifdef FEAT_GUI

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/os_unix.c:5158:13: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘fd_toshell[0]’
vim91/src/os_unix.c:5069:1: enter_function: entry to ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: call_function: calling ‘unix_build_argv’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: return_function: returning to ‘mch_call_shell_fork’ from ‘unix_build_argv’
vim91/src/os_unix.c:5103:8: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5111:9: branch_false: ...to here
vim91/src/os_unix.c:5111:8: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5131:27: branch_true: ...to here
vim91/src/os_unix.c:5132:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5134:31: branch_true: ...to here
vim91/src/os_unix.c:5135:20: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5141:16: branch_false: ...to here
vim91/src/os_unix.c:5141:16: branch_false: following ‘false’ branch (when ‘pipe_error == 0’)...
vim91/src/os_unix.c:5152:9: branch_false: ...to here
vim91/src/os_unix.c:5154:12: branch_true: following ‘true’ branch (when ‘pid == -1’)...
vim91/src/os_unix.c:5156:13: call_function: inlined call to ‘unblock_signals’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5158:13: danger: ‘fd_toshell[0]’ leaks here
# 5156|   	    UNBLOCK_SIGNALS(&curset);
# 5157|   
# 5158|-> 	    msg_puts(_("\nCannot fork\n"));
# 5159|   	    if ((options & (SHELL_READ|SHELL_WRITE))
# 5160|   # ifdef FEAT_GUI

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/os_unix.c:5158:13: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘fd_toshell[1]’
vim91/src/os_unix.c:5069:1: enter_function: entry to ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: call_function: calling ‘unix_build_argv’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: return_function: returning to ‘mch_call_shell_fork’ from ‘unix_build_argv’
vim91/src/os_unix.c:5103:8: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5111:9: branch_false: ...to here
vim91/src/os_unix.c:5111:8: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5131:27: branch_true: ...to here
vim91/src/os_unix.c:5132:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5134:31: branch_true: ...to here
vim91/src/os_unix.c:5135:20: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5141:16: branch_false: ...to here
vim91/src/os_unix.c:5141:16: branch_false: following ‘false’ branch (when ‘pipe_error == 0’)...
vim91/src/os_unix.c:5152:9: branch_false: ...to here
vim91/src/os_unix.c:5154:12: branch_true: following ‘true’ branch (when ‘pid == -1’)...
vim91/src/os_unix.c:5156:13: call_function: inlined call to ‘unblock_signals’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5158:13: danger: ‘fd_toshell[1]’ leaks here
# 5156|   	    UNBLOCK_SIGNALS(&curset);
# 5157|   
# 5158|-> 	    msg_puts(_("\nCannot fork\n"));
# 5159|   	    if ((options & (SHELL_READ|SHELL_WRITE))
# 5160|   # ifdef FEAT_GUI

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/os_unix.c:5174:21: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘fd_fromshell[0]’
vim91/src/os_unix.c:5069:1: enter_function: entry to ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: call_function: calling ‘unix_build_argv’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: return_function: returning to ‘mch_call_shell_fork’ from ‘unix_build_argv’
vim91/src/os_unix.c:5103:8: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5111:9: branch_false: ...to here
vim91/src/os_unix.c:5111:8: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5131:27: branch_true: ...to here
vim91/src/os_unix.c:5132:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5134:31: branch_true: ...to here
vim91/src/os_unix.c:5135:20: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5141:16: branch_false: ...to here
vim91/src/os_unix.c:5141:16: branch_false: following ‘false’ branch (when ‘pipe_error == 0’)...
vim91/src/os_unix.c:5152:9: branch_false: ...to here
vim91/src/os_unix.c:5154:12: branch_true: following ‘true’ branch (when ‘pid == -1’)...
vim91/src/os_unix.c:5156:13: call_function: inlined call to ‘unblock_signals’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5159:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5174:21: branch_true: ...to here
vim91/src/os_unix.c:5174:21: danger: ‘fd_fromshell[0]’ leaks here
# 5172|   # endif
# 5173|   		{
# 5174|-> 		    close(fd_toshell[0]);
# 5175|   		    close(fd_toshell[1]);
# 5176|   		    close(fd_fromshell[0]);

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/os_unix.c:5174:21: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘fd_fromshell[1]’
vim91/src/os_unix.c:5069:1: enter_function: entry to ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: call_function: calling ‘unix_build_argv’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: return_function: returning to ‘mch_call_shell_fork’ from ‘unix_build_argv’
vim91/src/os_unix.c:5103:8: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5111:9: branch_false: ...to here
vim91/src/os_unix.c:5111:8: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5131:27: branch_true: ...to here
vim91/src/os_unix.c:5132:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5134:31: branch_true: ...to here
vim91/src/os_unix.c:5135:20: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5141:16: branch_false: ...to here
vim91/src/os_unix.c:5141:16: branch_false: following ‘false’ branch (when ‘pipe_error == 0’)...
vim91/src/os_unix.c:5152:9: branch_false: ...to here
vim91/src/os_unix.c:5154:12: branch_true: following ‘true’ branch (when ‘pid == -1’)...
vim91/src/os_unix.c:5156:13: call_function: inlined call to ‘unblock_signals’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5159:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5174:21: branch_true: ...to here
vim91/src/os_unix.c:5174:21: danger: ‘fd_fromshell[1]’ leaks here
# 5172|   # endif
# 5173|   		{
# 5174|-> 		    close(fd_toshell[0]);
# 5175|   		    close(fd_toshell[1]);
# 5176|   		    close(fd_fromshell[0]);

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/os_unix.c:5174:21: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘fd_toshell[0]’
vim91/src/os_unix.c:5069:1: enter_function: entry to ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: call_function: calling ‘unix_build_argv’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: return_function: returning to ‘mch_call_shell_fork’ from ‘unix_build_argv’
vim91/src/os_unix.c:5103:8: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5111:9: branch_false: ...to here
vim91/src/os_unix.c:5111:8: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5131:27: branch_true: ...to here
vim91/src/os_unix.c:5132:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5134:31: branch_true: ...to here
vim91/src/os_unix.c:5135:20: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5141:16: branch_false: ...to here
vim91/src/os_unix.c:5141:16: branch_false: following ‘false’ branch (when ‘pipe_error == 0’)...
vim91/src/os_unix.c:5152:9: branch_false: ...to here
vim91/src/os_unix.c:5154:12: branch_true: following ‘true’ branch (when ‘pid == -1’)...
vim91/src/os_unix.c:5156:13: call_function: inlined call to ‘unblock_signals’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5159:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5174:21: branch_true: ...to here
vim91/src/os_unix.c:5174:21: danger: ‘fd_toshell[0]’ leaks here
# 5172|   # endif
# 5173|   		{
# 5174|-> 		    close(fd_toshell[0]);
# 5175|   		    close(fd_toshell[1]);
# 5176|   		    close(fd_fromshell[0]);

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/os_unix.c:5174:21: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘fd_toshell[1]’
vim91/src/os_unix.c:5069:1: enter_function: entry to ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: call_function: calling ‘unix_build_argv’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: return_function: returning to ‘mch_call_shell_fork’ from ‘unix_build_argv’
vim91/src/os_unix.c:5103:8: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5111:9: branch_false: ...to here
vim91/src/os_unix.c:5111:8: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5131:27: branch_true: ...to here
vim91/src/os_unix.c:5132:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5134:31: branch_true: ...to here
vim91/src/os_unix.c:5135:20: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5141:16: branch_false: ...to here
vim91/src/os_unix.c:5141:16: branch_false: following ‘false’ branch (when ‘pipe_error == 0’)...
vim91/src/os_unix.c:5152:9: branch_false: ...to here
vim91/src/os_unix.c:5154:12: branch_true: following ‘true’ branch (when ‘pid == -1’)...
vim91/src/os_unix.c:5156:13: call_function: inlined call to ‘unblock_signals’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5159:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5174:21: branch_true: ...to here
vim91/src/os_unix.c:5174:21: danger: ‘fd_toshell[1]’ leaks here
# 5172|   # endif
# 5173|   		{
# 5174|-> 		    close(fd_toshell[0]);
# 5175|   		    close(fd_toshell[1]);
# 5176|   		    close(fd_fromshell[0]);

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/os_unix.c:5175:21: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘fd_fromshell[0]’
vim91/src/os_unix.c:5069:1: enter_function: entry to ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: call_function: calling ‘unix_build_argv’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: return_function: returning to ‘mch_call_shell_fork’ from ‘unix_build_argv’
vim91/src/os_unix.c:5103:8: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5111:9: branch_false: ...to here
vim91/src/os_unix.c:5111:8: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5131:27: branch_true: ...to here
vim91/src/os_unix.c:5132:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5134:31: branch_true: ...to here
vim91/src/os_unix.c:5135:20: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5141:16: branch_false: ...to here
vim91/src/os_unix.c:5141:16: branch_false: following ‘false’ branch (when ‘pipe_error == 0’)...
vim91/src/os_unix.c:5152:9: branch_false: ...to here
vim91/src/os_unix.c:5154:12: branch_true: following ‘true’ branch (when ‘pid == -1’)...
vim91/src/os_unix.c:5156:13: call_function: inlined call to ‘unblock_signals’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5159:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5174:21: branch_true: ...to here
vim91/src/os_unix.c:5175:21: danger: ‘fd_fromshell[0]’ leaks here
# 5173|   		{
# 5174|   		    close(fd_toshell[0]);
# 5175|-> 		    close(fd_toshell[1]);
# 5176|   		    close(fd_fromshell[0]);
# 5177|   		    close(fd_fromshell[1]);

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/os_unix.c:5175:21: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘fd_fromshell[1]’
vim91/src/os_unix.c:5069:1: enter_function: entry to ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: call_function: calling ‘unix_build_argv’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: return_function: returning to ‘mch_call_shell_fork’ from ‘unix_build_argv’
vim91/src/os_unix.c:5103:8: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5111:9: branch_false: ...to here
vim91/src/os_unix.c:5111:8: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5131:27: branch_true: ...to here
vim91/src/os_unix.c:5132:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5134:31: branch_true: ...to here
vim91/src/os_unix.c:5135:20: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5141:16: branch_false: ...to here
vim91/src/os_unix.c:5141:16: branch_false: following ‘false’ branch (when ‘pipe_error == 0’)...
vim91/src/os_unix.c:5152:9: branch_false: ...to here
vim91/src/os_unix.c:5154:12: branch_true: following ‘true’ branch (when ‘pid == -1’)...
vim91/src/os_unix.c:5156:13: call_function: inlined call to ‘unblock_signals’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5159:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5174:21: branch_true: ...to here
vim91/src/os_unix.c:5175:21: danger: ‘fd_fromshell[1]’ leaks here
# 5173|   		{
# 5174|   		    close(fd_toshell[0]);
# 5175|-> 		    close(fd_toshell[1]);
# 5176|   		    close(fd_fromshell[0]);
# 5177|   		    close(fd_fromshell[1]);

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/os_unix.c:5175:21: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘fd_toshell[1]’
vim91/src/os_unix.c:5069:1: enter_function: entry to ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: call_function: calling ‘unix_build_argv’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: return_function: returning to ‘mch_call_shell_fork’ from ‘unix_build_argv’
vim91/src/os_unix.c:5103:8: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5111:9: branch_false: ...to here
vim91/src/os_unix.c:5111:8: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5131:27: branch_true: ...to here
vim91/src/os_unix.c:5132:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5134:31: branch_true: ...to here
vim91/src/os_unix.c:5135:20: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5141:16: branch_false: ...to here
vim91/src/os_unix.c:5141:16: branch_false: following ‘false’ branch (when ‘pipe_error == 0’)...
vim91/src/os_unix.c:5152:9: branch_false: ...to here
vim91/src/os_unix.c:5154:12: branch_true: following ‘true’ branch (when ‘pid == -1’)...
vim91/src/os_unix.c:5156:13: call_function: inlined call to ‘unblock_signals’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5159:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5174:21: branch_true: ...to here
vim91/src/os_unix.c:5175:21: danger: ‘fd_toshell[1]’ leaks here
# 5173|   		{
# 5174|   		    close(fd_toshell[0]);
# 5175|-> 		    close(fd_toshell[1]);
# 5176|   		    close(fd_fromshell[0]);
# 5177|   		    close(fd_fromshell[1]);

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/os_unix.c:5176:21: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘fd_fromshell[0]’
vim91/src/os_unix.c:5069:1: enter_function: entry to ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: call_function: calling ‘unix_build_argv’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: return_function: returning to ‘mch_call_shell_fork’ from ‘unix_build_argv’
vim91/src/os_unix.c:5103:8: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5111:9: branch_false: ...to here
vim91/src/os_unix.c:5111:8: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5131:27: branch_true: ...to here
vim91/src/os_unix.c:5132:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5134:31: branch_true: ...to here
vim91/src/os_unix.c:5135:20: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5141:16: branch_false: ...to here
vim91/src/os_unix.c:5141:16: branch_false: following ‘false’ branch (when ‘pipe_error == 0’)...
vim91/src/os_unix.c:5152:9: branch_false: ...to here
vim91/src/os_unix.c:5154:12: branch_true: following ‘true’ branch (when ‘pid == -1’)...
vim91/src/os_unix.c:5156:13: call_function: inlined call to ‘unblock_signals’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5159:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5174:21: branch_true: ...to here
vim91/src/os_unix.c:5176:21: danger: ‘fd_fromshell[0]’ leaks here
# 5174|   		    close(fd_toshell[0]);
# 5175|   		    close(fd_toshell[1]);
# 5176|-> 		    close(fd_fromshell[0]);
# 5177|   		    close(fd_fromshell[1]);
# 5178|   		}

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/os_unix.c:5176:21: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘fd_fromshell[1]’
vim91/src/os_unix.c:5069:1: enter_function: entry to ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: call_function: calling ‘unix_build_argv’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: return_function: returning to ‘mch_call_shell_fork’ from ‘unix_build_argv’
vim91/src/os_unix.c:5103:8: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5111:9: branch_false: ...to here
vim91/src/os_unix.c:5111:8: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5131:27: branch_true: ...to here
vim91/src/os_unix.c:5132:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5134:31: branch_true: ...to here
vim91/src/os_unix.c:5135:20: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5141:16: branch_false: ...to here
vim91/src/os_unix.c:5141:16: branch_false: following ‘false’ branch (when ‘pipe_error == 0’)...
vim91/src/os_unix.c:5152:9: branch_false: ...to here
vim91/src/os_unix.c:5154:12: branch_true: following ‘true’ branch (when ‘pid == -1’)...
vim91/src/os_unix.c:5156:13: call_function: inlined call to ‘unblock_signals’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5159:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5174:21: branch_true: ...to here
vim91/src/os_unix.c:5176:21: danger: ‘fd_fromshell[1]’ leaks here
# 5174|   		    close(fd_toshell[0]);
# 5175|   		    close(fd_toshell[1]);
# 5176|-> 		    close(fd_fromshell[0]);
# 5177|   		    close(fd_fromshell[1]);
# 5178|   		}

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/os_unix.c:5177:21: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘fd_fromshell[1]’
vim91/src/os_unix.c:5069:1: enter_function: entry to ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: call_function: calling ‘unix_build_argv’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: return_function: returning to ‘mch_call_shell_fork’ from ‘unix_build_argv’
vim91/src/os_unix.c:5103:8: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5111:9: branch_false: ...to here
vim91/src/os_unix.c:5111:8: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5131:27: branch_true: ...to here
vim91/src/os_unix.c:5132:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5134:31: branch_true: ...to here
vim91/src/os_unix.c:5135:20: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5141:16: branch_false: ...to here
vim91/src/os_unix.c:5141:16: branch_false: following ‘false’ branch (when ‘pipe_error == 0’)...
vim91/src/os_unix.c:5152:9: branch_false: ...to here
vim91/src/os_unix.c:5154:12: branch_true: following ‘true’ branch (when ‘pid == -1’)...
vim91/src/os_unix.c:5156:13: call_function: inlined call to ‘unblock_signals’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5159:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5174:21: branch_true: ...to here
vim91/src/os_unix.c:5177:21: danger: ‘fd_fromshell[1]’ leaks here
# 5175|   		    close(fd_toshell[1]);
# 5176|   		    close(fd_fromshell[0]);
# 5177|-> 		    close(fd_fromshell[1]);
# 5178|   		}
# 5179|   	    }

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/os_unix.c:5223:21: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘vim_ignored’
vim91/src/os_unix.c:5069:1: enter_function: entry to ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: call_function: calling ‘unix_build_argv’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: return_function: returning to ‘mch_call_shell_fork’ from ‘unix_build_argv’
vim91/src/os_unix.c:5103:8: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5111:9: branch_false: ...to here
vim91/src/os_unix.c:5111:8: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5152:9: branch_false: ...to here
vim91/src/os_unix.c:5154:12: branch_false: following ‘false’ branch (when ‘pid != -1’)...
vim91/src/os_unix.c:5181:17: branch_false: ...to here
vim91/src/os_unix.c:5181:17: branch_true: following ‘true’ branch (when ‘pid == 0’)...
vim91/src/os_unix.c:5183:13: branch_true: ...to here
vim91/src/os_unix.c:5220:20: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5222:35: branch_true: ...to here
vim91/src/os_unix.c:5222:35: acquire_resource: opened here
vim91/src/os_unix.c:5223:21: danger: ‘vim_ignored’ leaks here; was opened at [(21)](sarif:/runs/0/results/23/codeFlows/0/threadFlows/0/locations/20)
# 5221|   		{
# 5222|   		    vim_ignored = dup(fd); // To replace stdin  (fd 0)
# 5223|-> 		    vim_ignored = dup(fd); // To replace stdout (fd 1)
# 5224|   		    vim_ignored = dup(fd); // To replace stderr (fd 2)
# 5225|   

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/os_unix.c:5224:21: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘vim_ignored’
vim91/src/os_unix.c:5069:1: enter_function: entry to ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: call_function: calling ‘unix_build_argv’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: return_function: returning to ‘mch_call_shell_fork’ from ‘unix_build_argv’
vim91/src/os_unix.c:5103:8: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5111:9: branch_false: ...to here
vim91/src/os_unix.c:5111:8: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5152:9: branch_false: ...to here
vim91/src/os_unix.c:5154:12: branch_false: following ‘false’ branch (when ‘pid != -1’)...
vim91/src/os_unix.c:5181:17: branch_false: ...to here
vim91/src/os_unix.c:5181:17: branch_true: following ‘true’ branch (when ‘pid == 0’)...
vim91/src/os_unix.c:5183:13: branch_true: ...to here
vim91/src/os_unix.c:5220:20: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5222:35: branch_true: ...to here
vim91/src/os_unix.c:5223:35: acquire_resource: opened here
vim91/src/os_unix.c:5224:21: danger: ‘vim_ignored’ leaks here; was opened at [(21)](sarif:/runs/0/results/24/codeFlows/0/threadFlows/0/locations/20)
# 5222|   		    vim_ignored = dup(fd); // To replace stdin  (fd 0)
# 5223|   		    vim_ignored = dup(fd); // To replace stdout (fd 1)
# 5224|-> 		    vim_ignored = dup(fd); // To replace stderr (fd 2)
# 5225|   
# 5226|   		    // Don't need this now that we've duplicated it

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/os_unix.c:5227:21: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘fd_fromshell[0]’
vim91/src/os_unix.c:5069:1: enter_function: entry to ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: call_function: calling ‘unix_build_argv’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: return_function: returning to ‘mch_call_shell_fork’ from ‘unix_build_argv’
vim91/src/os_unix.c:5103:8: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5111:9: branch_false: ...to here
vim91/src/os_unix.c:5111:8: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5131:27: branch_true: ...to here
vim91/src/os_unix.c:5132:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5134:31: branch_true: ...to here
vim91/src/os_unix.c:5135:20: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5141:16: branch_false: ...to here
vim91/src/os_unix.c:5141:16: branch_false: following ‘false’ branch (when ‘pipe_error == 0’)...
vim91/src/os_unix.c:5152:9: branch_false: ...to here
vim91/src/os_unix.c:5154:12: branch_false: following ‘false’ branch (when ‘pid != -1’)...
vim91/src/os_unix.c:5181:17: branch_false: ...to here
vim91/src/os_unix.c:5181:17: branch_true: following ‘true’ branch (when ‘pid == 0’)...
vim91/src/os_unix.c:5183:13: branch_true: ...to here
vim91/src/os_unix.c:5220:20: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5222:35: branch_true: ...to here
vim91/src/os_unix.c:5227:21: danger: ‘fd_fromshell[0]’ leaks here
# 5225|   
# 5226|   		    // Don't need this now that we've duplicated it
# 5227|-> 		    close(fd);
# 5228|   		}
# 5229|   	    }

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/os_unix.c:5227:21: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘fd_fromshell[1]’
vim91/src/os_unix.c:5069:1: enter_function: entry to ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: call_function: calling ‘unix_build_argv’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: return_function: returning to ‘mch_call_shell_fork’ from ‘unix_build_argv’
vim91/src/os_unix.c:5103:8: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5111:9: branch_false: ...to here
vim91/src/os_unix.c:5111:8: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5131:27: branch_true: ...to here
vim91/src/os_unix.c:5132:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5134:31: branch_true: ...to here
vim91/src/os_unix.c:5135:20: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5141:16: branch_false: ...to here
vim91/src/os_unix.c:5141:16: branch_false: following ‘false’ branch (when ‘pipe_error == 0’)...
vim91/src/os_unix.c:5152:9: branch_false: ...to here
vim91/src/os_unix.c:5154:12: branch_false: following ‘false’ branch (when ‘pid != -1’)...
vim91/src/os_unix.c:5181:17: branch_false: ...to here
vim91/src/os_unix.c:5181:17: branch_true: following ‘true’ branch (when ‘pid == 0’)...
vim91/src/os_unix.c:5183:13: branch_true: ...to here
vim91/src/os_unix.c:5220:20: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5222:35: branch_true: ...to here
vim91/src/os_unix.c:5227:21: danger: ‘fd_fromshell[1]’ leaks here
# 5225|   
# 5226|   		    // Don't need this now that we've duplicated it
# 5227|-> 		    close(fd);
# 5228|   		}
# 5229|   	    }

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/os_unix.c:5227:21: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘fd_toshell[0]’
vim91/src/os_unix.c:5069:1: enter_function: entry to ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: call_function: calling ‘unix_build_argv’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: return_function: returning to ‘mch_call_shell_fork’ from ‘unix_build_argv’
vim91/src/os_unix.c:5103:8: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5111:9: branch_false: ...to here
vim91/src/os_unix.c:5111:8: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5131:27: branch_true: ...to here
vim91/src/os_unix.c:5132:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5134:31: branch_true: ...to here
vim91/src/os_unix.c:5135:20: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5141:16: branch_false: ...to here
vim91/src/os_unix.c:5141:16: branch_false: following ‘false’ branch (when ‘pipe_error == 0’)...
vim91/src/os_unix.c:5152:9: branch_false: ...to here
vim91/src/os_unix.c:5154:12: branch_false: following ‘false’ branch (when ‘pid != -1’)...
vim91/src/os_unix.c:5181:17: branch_false: ...to here
vim91/src/os_unix.c:5181:17: branch_true: following ‘true’ branch (when ‘pid == 0’)...
vim91/src/os_unix.c:5183:13: branch_true: ...to here
vim91/src/os_unix.c:5220:20: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5222:35: branch_true: ...to here
vim91/src/os_unix.c:5227:21: danger: ‘fd_toshell[0]’ leaks here
# 5225|   
# 5226|   		    // Don't need this now that we've duplicated it
# 5227|-> 		    close(fd);
# 5228|   		}
# 5229|   	    }

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/os_unix.c:5227:21: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘fd_toshell[1]’
vim91/src/os_unix.c:5069:1: enter_function: entry to ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: call_function: calling ‘unix_build_argv’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: return_function: returning to ‘mch_call_shell_fork’ from ‘unix_build_argv’
vim91/src/os_unix.c:5103:8: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5111:9: branch_false: ...to here
vim91/src/os_unix.c:5111:8: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5131:27: branch_true: ...to here
vim91/src/os_unix.c:5132:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5134:31: branch_true: ...to here
vim91/src/os_unix.c:5135:20: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5141:16: branch_false: ...to here
vim91/src/os_unix.c:5141:16: branch_false: following ‘false’ branch (when ‘pipe_error == 0’)...
vim91/src/os_unix.c:5152:9: branch_false: ...to here
vim91/src/os_unix.c:5154:12: branch_false: following ‘false’ branch (when ‘pid != -1’)...
vim91/src/os_unix.c:5181:17: branch_false: ...to here
vim91/src/os_unix.c:5181:17: branch_true: following ‘true’ branch (when ‘pid == 0’)...
vim91/src/os_unix.c:5183:13: branch_true: ...to here
vim91/src/os_unix.c:5220:20: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5222:35: branch_true: ...to here
vim91/src/os_unix.c:5227:21: danger: ‘fd_toshell[1]’ leaks here
# 5225|   
# 5226|   		    // Don't need this now that we've duplicated it
# 5227|-> 		    close(fd);
# 5228|   		}
# 5229|   	    }

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/os_unix.c:5295:21: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘fd_fromshell[0]’
vim91/src/os_unix.c:5069:1: enter_function: entry to ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: call_function: calling ‘unix_build_argv’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: return_function: returning to ‘mch_call_shell_fork’ from ‘unix_build_argv’
vim91/src/os_unix.c:5103:8: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5111:9: branch_false: ...to here
vim91/src/os_unix.c:5111:8: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5131:27: branch_true: ...to here
vim91/src/os_unix.c:5132:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5134:31: branch_true: ...to here
vim91/src/os_unix.c:5135:20: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5141:16: branch_false: ...to here
vim91/src/os_unix.c:5141:16: branch_false: following ‘false’ branch (when ‘pipe_error == 0’)...
vim91/src/os_unix.c:5152:9: branch_false: ...to here
vim91/src/os_unix.c:5154:12: branch_false: following ‘false’ branch (when ‘pid != -1’)...
vim91/src/os_unix.c:5181:17: branch_false: ...to here
vim91/src/os_unix.c:5181:17: branch_true: following ‘true’ branch (when ‘pid == 0’)...
vim91/src/os_unix.c:5183:13: branch_true: ...to here
vim91/src/os_unix.c:5194:16: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5230:21: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5241:21: branch_true: ...to here
vim91/src/os_unix.c:5295:21: danger: ‘fd_fromshell[0]’ leaks here
# 5293|   		{
# 5294|   		    // set up stdin for the child
# 5295|-> 		    close(fd_toshell[1]);
# 5296|   		    close(0);
# 5297|   		    vim_ignored = dup(fd_toshell[0]);

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/os_unix.c:5295:21: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘fd_fromshell[1]’
vim91/src/os_unix.c:5069:1: enter_function: entry to ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: call_function: calling ‘unix_build_argv’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: return_function: returning to ‘mch_call_shell_fork’ from ‘unix_build_argv’
vim91/src/os_unix.c:5103:8: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5111:9: branch_false: ...to here
vim91/src/os_unix.c:5111:8: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5131:27: branch_true: ...to here
vim91/src/os_unix.c:5132:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5134:31: branch_true: ...to here
vim91/src/os_unix.c:5135:20: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5141:16: branch_false: ...to here
vim91/src/os_unix.c:5141:16: branch_false: following ‘false’ branch (when ‘pipe_error == 0’)...
vim91/src/os_unix.c:5152:9: branch_false: ...to here
vim91/src/os_unix.c:5154:12: branch_false: following ‘false’ branch (when ‘pid != -1’)...
vim91/src/os_unix.c:5181:17: branch_false: ...to here
vim91/src/os_unix.c:5181:17: branch_true: following ‘true’ branch (when ‘pid == 0’)...
vim91/src/os_unix.c:5183:13: branch_true: ...to here
vim91/src/os_unix.c:5194:16: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5230:21: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5241:21: branch_true: ...to here
vim91/src/os_unix.c:5295:21: danger: ‘fd_fromshell[1]’ leaks here
# 5293|   		{
# 5294|   		    // set up stdin for the child
# 5295|-> 		    close(fd_toshell[1]);
# 5296|   		    close(0);
# 5297|   		    vim_ignored = dup(fd_toshell[0]);

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/os_unix.c:5295:21: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘fd_toshell[0]’
vim91/src/os_unix.c:5069:1: enter_function: entry to ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: call_function: calling ‘unix_build_argv’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: return_function: returning to ‘mch_call_shell_fork’ from ‘unix_build_argv’
vim91/src/os_unix.c:5103:8: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5111:9: branch_false: ...to here
vim91/src/os_unix.c:5111:8: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5131:27: branch_true: ...to here
vim91/src/os_unix.c:5132:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5134:31: branch_true: ...to here
vim91/src/os_unix.c:5135:20: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5141:16: branch_false: ...to here
vim91/src/os_unix.c:5141:16: branch_false: following ‘false’ branch (when ‘pipe_error == 0’)...
vim91/src/os_unix.c:5152:9: branch_false: ...to here
vim91/src/os_unix.c:5154:12: branch_false: following ‘false’ branch (when ‘pid != -1’)...
vim91/src/os_unix.c:5181:17: branch_false: ...to here
vim91/src/os_unix.c:5181:17: branch_true: following ‘true’ branch (when ‘pid == 0’)...
vim91/src/os_unix.c:5183:13: branch_true: ...to here
vim91/src/os_unix.c:5194:16: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5230:21: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5241:21: branch_true: ...to here
vim91/src/os_unix.c:5295:21: danger: ‘fd_toshell[0]’ leaks here
# 5293|   		{
# 5294|   		    // set up stdin for the child
# 5295|-> 		    close(fd_toshell[1]);
# 5296|   		    close(0);
# 5297|   		    vim_ignored = dup(fd_toshell[0]);

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/os_unix.c:5295:21: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘fd_toshell[1]’
vim91/src/os_unix.c:5069:1: enter_function: entry to ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: call_function: calling ‘unix_build_argv’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: return_function: returning to ‘mch_call_shell_fork’ from ‘unix_build_argv’
vim91/src/os_unix.c:5103:8: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5111:9: branch_false: ...to here
vim91/src/os_unix.c:5111:8: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5131:27: branch_true: ...to here
vim91/src/os_unix.c:5132:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5134:31: branch_true: ...to here
vim91/src/os_unix.c:5135:20: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5141:16: branch_false: ...to here
vim91/src/os_unix.c:5141:16: branch_false: following ‘false’ branch (when ‘pipe_error == 0’)...
vim91/src/os_unix.c:5152:9: branch_false: ...to here
vim91/src/os_unix.c:5154:12: branch_false: following ‘false’ branch (when ‘pid != -1’)...
vim91/src/os_unix.c:5181:17: branch_false: ...to here
vim91/src/os_unix.c:5181:17: branch_true: following ‘true’ branch (when ‘pid == 0’)...
vim91/src/os_unix.c:5183:13: branch_true: ...to here
vim91/src/os_unix.c:5194:16: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5230:21: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5241:21: branch_true: ...to here
vim91/src/os_unix.c:5295:21: danger: ‘fd_toshell[1]’ leaks here
# 5293|   		{
# 5294|   		    // set up stdin for the child
# 5295|-> 		    close(fd_toshell[1]);
# 5296|   		    close(0);
# 5297|   		    vim_ignored = dup(fd_toshell[0]);

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/os_unix.c:5296:21: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘fd_fromshell[0]’
vim91/src/os_unix.c:5069:1: enter_function: entry to ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: call_function: calling ‘unix_build_argv’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: return_function: returning to ‘mch_call_shell_fork’ from ‘unix_build_argv’
vim91/src/os_unix.c:5103:8: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5111:9: branch_false: ...to here
vim91/src/os_unix.c:5111:8: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5131:27: branch_true: ...to here
vim91/src/os_unix.c:5132:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5134:31: branch_true: ...to here
vim91/src/os_unix.c:5135:20: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5141:16: branch_false: ...to here
vim91/src/os_unix.c:5141:16: branch_false: following ‘false’ branch (when ‘pipe_error == 0’)...
vim91/src/os_unix.c:5152:9: branch_false: ...to here
vim91/src/os_unix.c:5154:12: branch_false: following ‘false’ branch (when ‘pid != -1’)...
vim91/src/os_unix.c:5181:17: branch_false: ...to here
vim91/src/os_unix.c:5181:17: branch_true: following ‘true’ branch (when ‘pid == 0’)...
vim91/src/os_unix.c:5183:13: branch_true: ...to here
vim91/src/os_unix.c:5194:16: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5230:21: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5241:21: branch_true: ...to here
vim91/src/os_unix.c:5296:21: danger: ‘fd_fromshell[0]’ leaks here
# 5294|   		    // set up stdin for the child
# 5295|   		    close(fd_toshell[1]);
# 5296|-> 		    close(0);
# 5297|   		    vim_ignored = dup(fd_toshell[0]);
# 5298|   		    close(fd_toshell[0]);

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/os_unix.c:5296:21: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘fd_fromshell[1]’
vim91/src/os_unix.c:5069:1: enter_function: entry to ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: call_function: calling ‘unix_build_argv’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: return_function: returning to ‘mch_call_shell_fork’ from ‘unix_build_argv’
vim91/src/os_unix.c:5103:8: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5111:9: branch_false: ...to here
vim91/src/os_unix.c:5111:8: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5131:27: branch_true: ...to here
vim91/src/os_unix.c:5132:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5134:31: branch_true: ...to here
vim91/src/os_unix.c:5135:20: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5141:16: branch_false: ...to here
vim91/src/os_unix.c:5141:16: branch_false: following ‘false’ branch (when ‘pipe_error == 0’)...
vim91/src/os_unix.c:5152:9: branch_false: ...to here
vim91/src/os_unix.c:5154:12: branch_false: following ‘false’ branch (when ‘pid != -1’)...
vim91/src/os_unix.c:5181:17: branch_false: ...to here
vim91/src/os_unix.c:5181:17: branch_true: following ‘true’ branch (when ‘pid == 0’)...
vim91/src/os_unix.c:5183:13: branch_true: ...to here
vim91/src/os_unix.c:5194:16: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5230:21: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5241:21: branch_true: ...to here
vim91/src/os_unix.c:5296:21: danger: ‘fd_fromshell[1]’ leaks here
# 5294|   		    // set up stdin for the child
# 5295|   		    close(fd_toshell[1]);
# 5296|-> 		    close(0);
# 5297|   		    vim_ignored = dup(fd_toshell[0]);
# 5298|   		    close(fd_toshell[0]);

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/os_unix.c:5296:21: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘fd_toshell[0]’
vim91/src/os_unix.c:5069:1: enter_function: entry to ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: call_function: calling ‘unix_build_argv’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: return_function: returning to ‘mch_call_shell_fork’ from ‘unix_build_argv’
vim91/src/os_unix.c:5103:8: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5111:9: branch_false: ...to here
vim91/src/os_unix.c:5111:8: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5131:27: branch_true: ...to here
vim91/src/os_unix.c:5132:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5134:31: branch_true: ...to here
vim91/src/os_unix.c:5135:20: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5141:16: branch_false: ...to here
vim91/src/os_unix.c:5141:16: branch_false: following ‘false’ branch (when ‘pipe_error == 0’)...
vim91/src/os_unix.c:5152:9: branch_false: ...to here
vim91/src/os_unix.c:5154:12: branch_false: following ‘false’ branch (when ‘pid != -1’)...
vim91/src/os_unix.c:5181:17: branch_false: ...to here
vim91/src/os_unix.c:5181:17: branch_true: following ‘true’ branch (when ‘pid == 0’)...
vim91/src/os_unix.c:5183:13: branch_true: ...to here
vim91/src/os_unix.c:5194:16: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5230:21: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5241:21: branch_true: ...to here
vim91/src/os_unix.c:5296:21: danger: ‘fd_toshell[0]’ leaks here
# 5294|   		    // set up stdin for the child
# 5295|   		    close(fd_toshell[1]);
# 5296|-> 		    close(0);
# 5297|   		    vim_ignored = dup(fd_toshell[0]);
# 5298|   		    close(fd_toshell[0]);

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/os_unix.c:5298:21: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘fd_fromshell[0]’
vim91/src/os_unix.c:5069:1: enter_function: entry to ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: call_function: calling ‘unix_build_argv’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: return_function: returning to ‘mch_call_shell_fork’ from ‘unix_build_argv’
vim91/src/os_unix.c:5103:8: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5111:9: branch_false: ...to here
vim91/src/os_unix.c:5111:8: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5131:27: branch_true: ...to here
vim91/src/os_unix.c:5132:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5134:31: branch_true: ...to here
vim91/src/os_unix.c:5135:20: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5141:16: branch_false: ...to here
vim91/src/os_unix.c:5141:16: branch_false: following ‘false’ branch (when ‘pipe_error == 0’)...
vim91/src/os_unix.c:5152:9: branch_false: ...to here
vim91/src/os_unix.c:5154:12: branch_false: following ‘false’ branch (when ‘pid != -1’)...
vim91/src/os_unix.c:5181:17: branch_false: ...to here
vim91/src/os_unix.c:5181:17: branch_true: following ‘true’ branch (when ‘pid == 0’)...
vim91/src/os_unix.c:5183:13: branch_true: ...to here
vim91/src/os_unix.c:5194:16: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5230:21: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5241:21: branch_true: ...to here
vim91/src/os_unix.c:5298:21: danger: ‘fd_fromshell[0]’ leaks here
# 5296|   		    close(0);
# 5297|   		    vim_ignored = dup(fd_toshell[0]);
# 5298|-> 		    close(fd_toshell[0]);
# 5299|   
# 5300|   		    // set up stdout for the child

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/os_unix.c:5298:21: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘fd_fromshell[1]’
vim91/src/os_unix.c:5069:1: enter_function: entry to ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: call_function: calling ‘unix_build_argv’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: return_function: returning to ‘mch_call_shell_fork’ from ‘unix_build_argv’
vim91/src/os_unix.c:5103:8: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5111:9: branch_false: ...to here
vim91/src/os_unix.c:5111:8: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5131:27: branch_true: ...to here
vim91/src/os_unix.c:5132:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5134:31: branch_true: ...to here
vim91/src/os_unix.c:5135:20: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5141:16: branch_false: ...to here
vim91/src/os_unix.c:5141:16: branch_false: following ‘false’ branch (when ‘pipe_error == 0’)...
vim91/src/os_unix.c:5152:9: branch_false: ...to here
vim91/src/os_unix.c:5154:12: branch_false: following ‘false’ branch (when ‘pid != -1’)...
vim91/src/os_unix.c:5181:17: branch_false: ...to here
vim91/src/os_unix.c:5181:17: branch_true: following ‘true’ branch (when ‘pid == 0’)...
vim91/src/os_unix.c:5183:13: branch_true: ...to here
vim91/src/os_unix.c:5194:16: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5230:21: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5241:21: branch_true: ...to here
vim91/src/os_unix.c:5298:21: danger: ‘fd_fromshell[1]’ leaks here
# 5296|   		    close(0);
# 5297|   		    vim_ignored = dup(fd_toshell[0]);
# 5298|-> 		    close(fd_toshell[0]);
# 5299|   
# 5300|   		    // set up stdout for the child

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/os_unix.c:5298:21: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘fd_toshell[0]’
vim91/src/os_unix.c:5069:1: enter_function: entry to ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: call_function: calling ‘unix_build_argv’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: return_function: returning to ‘mch_call_shell_fork’ from ‘unix_build_argv’
vim91/src/os_unix.c:5103:8: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5111:9: branch_false: ...to here
vim91/src/os_unix.c:5111:8: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5131:27: branch_true: ...to here
vim91/src/os_unix.c:5132:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5134:31: branch_true: ...to here
vim91/src/os_unix.c:5135:20: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5141:16: branch_false: ...to here
vim91/src/os_unix.c:5141:16: branch_false: following ‘false’ branch (when ‘pipe_error == 0’)...
vim91/src/os_unix.c:5152:9: branch_false: ...to here
vim91/src/os_unix.c:5154:12: branch_false: following ‘false’ branch (when ‘pid != -1’)...
vim91/src/os_unix.c:5181:17: branch_false: ...to here
vim91/src/os_unix.c:5181:17: branch_true: following ‘true’ branch (when ‘pid == 0’)...
vim91/src/os_unix.c:5183:13: branch_true: ...to here
vim91/src/os_unix.c:5194:16: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5230:21: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5241:21: branch_true: ...to here
vim91/src/os_unix.c:5298:21: danger: ‘fd_toshell[0]’ leaks here
# 5296|   		    close(0);
# 5297|   		    vim_ignored = dup(fd_toshell[0]);
# 5298|-> 		    close(fd_toshell[0]);
# 5299|   
# 5300|   		    // set up stdout for the child

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/os_unix.c:5301:21: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘fd_fromshell[0]’
vim91/src/os_unix.c:5069:1: enter_function: entry to ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: call_function: calling ‘unix_build_argv’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: return_function: returning to ‘mch_call_shell_fork’ from ‘unix_build_argv’
vim91/src/os_unix.c:5103:8: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5111:9: branch_false: ...to here
vim91/src/os_unix.c:5111:8: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5131:27: branch_true: ...to here
vim91/src/os_unix.c:5132:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5134:31: branch_true: ...to here
vim91/src/os_unix.c:5135:20: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5141:16: branch_false: ...to here
vim91/src/os_unix.c:5141:16: branch_false: following ‘false’ branch (when ‘pipe_error == 0’)...
vim91/src/os_unix.c:5152:9: branch_false: ...to here
vim91/src/os_unix.c:5154:12: branch_false: following ‘false’ branch (when ‘pid != -1’)...
vim91/src/os_unix.c:5181:17: branch_false: ...to here
vim91/src/os_unix.c:5181:17: branch_true: following ‘true’ branch (when ‘pid == 0’)...
vim91/src/os_unix.c:5183:13: branch_true: ...to here
vim91/src/os_unix.c:5194:16: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5230:21: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5241:21: branch_true: ...to here
vim91/src/os_unix.c:5301:21: danger: ‘fd_fromshell[0]’ leaks here
# 5299|   
# 5300|   		    // set up stdout for the child
# 5301|-> 		    close(fd_fromshell[0]);
# 5302|   		    close(1);
# 5303|   		    vim_ignored = dup(fd_fromshell[1]);

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/os_unix.c:5301:21: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘fd_fromshell[1]’
vim91/src/os_unix.c:5069:1: enter_function: entry to ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: call_function: calling ‘unix_build_argv’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: return_function: returning to ‘mch_call_shell_fork’ from ‘unix_build_argv’
vim91/src/os_unix.c:5103:8: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5111:9: branch_false: ...to here
vim91/src/os_unix.c:5111:8: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5131:27: branch_true: ...to here
vim91/src/os_unix.c:5132:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5134:31: branch_true: ...to here
vim91/src/os_unix.c:5135:20: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5141:16: branch_false: ...to here
vim91/src/os_unix.c:5141:16: branch_false: following ‘false’ branch (when ‘pipe_error == 0’)...
vim91/src/os_unix.c:5152:9: branch_false: ...to here
vim91/src/os_unix.c:5154:12: branch_false: following ‘false’ branch (when ‘pid != -1’)...
vim91/src/os_unix.c:5181:17: branch_false: ...to here
vim91/src/os_unix.c:5181:17: branch_true: following ‘true’ branch (when ‘pid == 0’)...
vim91/src/os_unix.c:5183:13: branch_true: ...to here
vim91/src/os_unix.c:5194:16: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5230:21: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5241:21: branch_true: ...to here
vim91/src/os_unix.c:5301:21: danger: ‘fd_fromshell[1]’ leaks here
# 5299|   
# 5300|   		    // set up stdout for the child
# 5301|-> 		    close(fd_fromshell[0]);
# 5302|   		    close(1);
# 5303|   		    vim_ignored = dup(fd_fromshell[1]);

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/os_unix.c:5302:21: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘fd_fromshell[1]’
vim91/src/os_unix.c:5069:1: enter_function: entry to ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: call_function: calling ‘unix_build_argv’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: return_function: returning to ‘mch_call_shell_fork’ from ‘unix_build_argv’
vim91/src/os_unix.c:5103:8: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5111:9: branch_false: ...to here
vim91/src/os_unix.c:5111:8: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5131:27: branch_true: ...to here
vim91/src/os_unix.c:5132:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5134:31: branch_true: ...to here
vim91/src/os_unix.c:5135:20: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5141:16: branch_false: ...to here
vim91/src/os_unix.c:5141:16: branch_false: following ‘false’ branch (when ‘pipe_error == 0’)...
vim91/src/os_unix.c:5152:9: branch_false: ...to here
vim91/src/os_unix.c:5154:12: branch_false: following ‘false’ branch (when ‘pid != -1’)...
vim91/src/os_unix.c:5181:17: branch_false: ...to here
vim91/src/os_unix.c:5181:17: branch_true: following ‘true’ branch (when ‘pid == 0’)...
vim91/src/os_unix.c:5183:13: branch_true: ...to here
vim91/src/os_unix.c:5194:16: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5230:21: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5241:21: branch_true: ...to here
vim91/src/os_unix.c:5302:21: danger: ‘fd_fromshell[1]’ leaks here
# 5300|   		    // set up stdout for the child
# 5301|   		    close(fd_fromshell[0]);
# 5302|-> 		    close(1);
# 5303|   		    vim_ignored = dup(fd_fromshell[1]);
# 5304|   		    close(fd_fromshell[1]);

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/os_unix.c:5303:21: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘vim_ignored’
vim91/src/os_unix.c:5069:1: enter_function: entry to ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: call_function: calling ‘unix_build_argv’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: return_function: returning to ‘mch_call_shell_fork’ from ‘unix_build_argv’
vim91/src/os_unix.c:5103:8: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5111:9: branch_false: ...to here
vim91/src/os_unix.c:5111:8: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5131:27: branch_true: ...to here
vim91/src/os_unix.c:5132:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5134:31: branch_true: ...to here
vim91/src/os_unix.c:5135:20: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5141:16: branch_false: ...to here
vim91/src/os_unix.c:5141:16: branch_false: following ‘false’ branch (when ‘pipe_error == 0’)...
vim91/src/os_unix.c:5152:9: branch_false: ...to here
vim91/src/os_unix.c:5154:12: branch_false: following ‘false’ branch (when ‘pid != -1’)...
vim91/src/os_unix.c:5181:17: branch_false: ...to here
vim91/src/os_unix.c:5181:17: branch_true: following ‘true’ branch (when ‘pid == 0’)...
vim91/src/os_unix.c:5183:13: branch_true: ...to here
vim91/src/os_unix.c:5194:16: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5230:21: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5241:21: branch_true: ...to here
vim91/src/os_unix.c:5297:35: acquire_resource: opened here
vim91/src/os_unix.c:5303:21: danger: ‘vim_ignored’ leaks here; was opened at [(31)](sarif:/runs/0/results/42/codeFlows/0/threadFlows/0/locations/30)
# 5301|   		    close(fd_fromshell[0]);
# 5302|   		    close(1);
# 5303|-> 		    vim_ignored = dup(fd_fromshell[1]);
# 5304|   		    close(fd_fromshell[1]);
# 5305|   

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/os_unix.c:5304:21: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘fd_fromshell[1]’
vim91/src/os_unix.c:5069:1: enter_function: entry to ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: call_function: calling ‘unix_build_argv’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: return_function: returning to ‘mch_call_shell_fork’ from ‘unix_build_argv’
vim91/src/os_unix.c:5103:8: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5111:9: branch_false: ...to here
vim91/src/os_unix.c:5111:8: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5131:27: branch_true: ...to here
vim91/src/os_unix.c:5132:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5134:31: branch_true: ...to here
vim91/src/os_unix.c:5135:20: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5141:16: branch_false: ...to here
vim91/src/os_unix.c:5141:16: branch_false: following ‘false’ branch (when ‘pipe_error == 0’)...
vim91/src/os_unix.c:5152:9: branch_false: ...to here
vim91/src/os_unix.c:5154:12: branch_false: following ‘false’ branch (when ‘pid != -1’)...
vim91/src/os_unix.c:5181:17: branch_false: ...to here
vim91/src/os_unix.c:5181:17: branch_true: following ‘true’ branch (when ‘pid == 0’)...
vim91/src/os_unix.c:5183:13: branch_true: ...to here
vim91/src/os_unix.c:5194:16: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5230:21: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5241:21: branch_true: ...to here
vim91/src/os_unix.c:5304:21: danger: ‘fd_fromshell[1]’ leaks here
# 5302|   		    close(1);
# 5303|   		    vim_ignored = dup(fd_fromshell[1]);
# 5304|-> 		    close(fd_fromshell[1]);
# 5305|   
# 5306|   # ifdef FEAT_GUI

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/os_unix.c:5325:13: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘fd_fromshell[0]’
vim91/src/os_unix.c:5069:1: enter_function: entry to ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: call_function: calling ‘unix_build_argv’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: return_function: returning to ‘mch_call_shell_fork’ from ‘unix_build_argv’
vim91/src/os_unix.c:5103:8: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5111:9: branch_false: ...to here
vim91/src/os_unix.c:5111:8: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5131:27: branch_true: ...to here
vim91/src/os_unix.c:5132:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5134:31: branch_true: ...to here
vim91/src/os_unix.c:5135:20: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5141:16: branch_false: ...to here
vim91/src/os_unix.c:5141:16: branch_false: following ‘false’ branch (when ‘pipe_error == 0’)...
vim91/src/os_unix.c:5152:9: branch_false: ...to here
vim91/src/os_unix.c:5154:12: branch_false: following ‘false’ branch (when ‘pid != -1’)...
vim91/src/os_unix.c:5181:17: branch_false: ...to here
vim91/src/os_unix.c:5181:17: branch_true: following ‘true’ branch (when ‘pid == 0’)...
vim91/src/os_unix.c:5183:13: branch_true: ...to here
vim91/src/os_unix.c:5325:13: danger: ‘fd_fromshell[0]’ leaks here
# 5323|   	     */
# 5324|   	    execvp(argv[0], argv);
# 5325|-> 	    _exit(EXEC_FAILED);	    // exec failed, return failure code
# 5326|   	}
# 5327|   	else			// parent

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/os_unix.c:5325:13: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘fd_fromshell[1]’
vim91/src/os_unix.c:5069:1: enter_function: entry to ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: call_function: calling ‘unix_build_argv’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: return_function: returning to ‘mch_call_shell_fork’ from ‘unix_build_argv’
vim91/src/os_unix.c:5103:8: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5111:9: branch_false: ...to here
vim91/src/os_unix.c:5111:8: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5131:27: branch_true: ...to here
vim91/src/os_unix.c:5132:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5134:31: branch_true: ...to here
vim91/src/os_unix.c:5135:20: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5141:16: branch_false: ...to here
vim91/src/os_unix.c:5141:16: branch_false: following ‘false’ branch (when ‘pipe_error == 0’)...
vim91/src/os_unix.c:5152:9: branch_false: ...to here
vim91/src/os_unix.c:5154:12: branch_false: following ‘false’ branch (when ‘pid != -1’)...
vim91/src/os_unix.c:5181:17: branch_false: ...to here
vim91/src/os_unix.c:5181:17: branch_true: following ‘true’ branch (when ‘pid == 0’)...
vim91/src/os_unix.c:5183:13: branch_true: ...to here
vim91/src/os_unix.c:5325:13: danger: ‘fd_fromshell[1]’ leaks here
# 5323|   	     */
# 5324|   	    execvp(argv[0], argv);
# 5325|-> 	    _exit(EXEC_FAILED);	    // exec failed, return failure code
# 5326|   	}
# 5327|   	else			// parent

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/os_unix.c:5325:13: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘fd_toshell[0]’
vim91/src/os_unix.c:5069:1: enter_function: entry to ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: call_function: calling ‘unix_build_argv’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: return_function: returning to ‘mch_call_shell_fork’ from ‘unix_build_argv’
vim91/src/os_unix.c:5103:8: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5111:9: branch_false: ...to here
vim91/src/os_unix.c:5111:8: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5131:27: branch_true: ...to here
vim91/src/os_unix.c:5132:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5134:31: branch_true: ...to here
vim91/src/os_unix.c:5135:20: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5141:16: branch_false: ...to here
vim91/src/os_unix.c:5141:16: branch_false: following ‘false’ branch (when ‘pipe_error == 0’)...
vim91/src/os_unix.c:5152:9: branch_false: ...to here
vim91/src/os_unix.c:5154:12: branch_false: following ‘false’ branch (when ‘pid != -1’)...
vim91/src/os_unix.c:5181:17: branch_false: ...to here
vim91/src/os_unix.c:5181:17: branch_true: following ‘true’ branch (when ‘pid == 0’)...
vim91/src/os_unix.c:5183:13: branch_true: ...to here
vim91/src/os_unix.c:5325:13: danger: ‘fd_toshell[0]’ leaks here
# 5323|   	     */
# 5324|   	    execvp(argv[0], argv);
# 5325|-> 	    _exit(EXEC_FAILED);	    // exec failed, return failure code
# 5326|   	}
# 5327|   	else			// parent

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/os_unix.c:5325:13: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘fd_toshell[1]’
vim91/src/os_unix.c:5069:1: enter_function: entry to ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: call_function: calling ‘unix_build_argv’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: return_function: returning to ‘mch_call_shell_fork’ from ‘unix_build_argv’
vim91/src/os_unix.c:5103:8: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5111:9: branch_false: ...to here
vim91/src/os_unix.c:5111:8: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5131:27: branch_true: ...to here
vim91/src/os_unix.c:5132:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5134:31: branch_true: ...to here
vim91/src/os_unix.c:5135:20: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5141:16: branch_false: ...to here
vim91/src/os_unix.c:5141:16: branch_false: following ‘false’ branch (when ‘pipe_error == 0’)...
vim91/src/os_unix.c:5152:9: branch_false: ...to here
vim91/src/os_unix.c:5154:12: branch_false: following ‘false’ branch (when ‘pid != -1’)...
vim91/src/os_unix.c:5181:17: branch_false: ...to here
vim91/src/os_unix.c:5181:17: branch_true: following ‘true’ branch (when ‘pid == 0’)...
vim91/src/os_unix.c:5183:13: branch_true: ...to here
vim91/src/os_unix.c:5325:13: danger: ‘fd_toshell[1]’ leaks here
# 5323|   	     */
# 5324|   	    execvp(argv[0], argv);
# 5325|-> 	    _exit(EXEC_FAILED);	    // exec failed, return failure code
# 5326|   	}
# 5327|   	else			// parent

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/os_unix.c:5376:21: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘fd_fromshell[0]’
vim91/src/os_unix.c:5069:1: enter_function: entry to ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: call_function: calling ‘unix_build_argv’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: return_function: returning to ‘mch_call_shell_fork’ from ‘unix_build_argv’
vim91/src/os_unix.c:5103:8: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5111:9: branch_false: ...to here
vim91/src/os_unix.c:5111:8: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5131:27: branch_true: ...to here
vim91/src/os_unix.c:5132:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5134:31: branch_true: ...to here
vim91/src/os_unix.c:5135:20: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5141:16: branch_false: ...to here
vim91/src/os_unix.c:5141:16: branch_false: following ‘false’ branch (when ‘pipe_error == 0’)...
vim91/src/os_unix.c:5152:9: branch_false: ...to here
vim91/src/os_unix.c:5154:12: branch_false: following ‘false’ branch (when ‘pid != -1’)...
vim91/src/os_unix.c:5181:17: branch_false: ...to here
vim91/src/os_unix.c:5181:17: branch_false: following ‘false’ branch (when ‘pid != 0’)...
vim91/src/os_unix.c:5333:13: branch_false: ...to here
vim91/src/os_unix.c:5344:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5376:21: branch_true: ...to here
vim91/src/os_unix.c:5376:21: danger: ‘fd_fromshell[0]’ leaks here
# 5374|   # endif
# 5375|   		{
# 5376|-> 		    close(fd_toshell[0]);
# 5377|   		    close(fd_fromshell[1]);
# 5378|   		    toshell_fd = fd_toshell[1];

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/os_unix.c:5376:21: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘fd_fromshell[1]’
vim91/src/os_unix.c:5069:1: enter_function: entry to ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: call_function: calling ‘unix_build_argv’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: return_function: returning to ‘mch_call_shell_fork’ from ‘unix_build_argv’
vim91/src/os_unix.c:5103:8: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5111:9: branch_false: ...to here
vim91/src/os_unix.c:5111:8: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5131:27: branch_true: ...to here
vim91/src/os_unix.c:5132:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5134:31: branch_true: ...to here
vim91/src/os_unix.c:5135:20: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5141:16: branch_false: ...to here
vim91/src/os_unix.c:5141:16: branch_false: following ‘false’ branch (when ‘pipe_error == 0’)...
vim91/src/os_unix.c:5152:9: branch_false: ...to here
vim91/src/os_unix.c:5154:12: branch_false: following ‘false’ branch (when ‘pid != -1’)...
vim91/src/os_unix.c:5181:17: branch_false: ...to here
vim91/src/os_unix.c:5181:17: branch_false: following ‘false’ branch (when ‘pid != 0’)...
vim91/src/os_unix.c:5333:13: branch_false: ...to here
vim91/src/os_unix.c:5344:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5376:21: branch_true: ...to here
vim91/src/os_unix.c:5376:21: danger: ‘fd_fromshell[1]’ leaks here
# 5374|   # endif
# 5375|   		{
# 5376|-> 		    close(fd_toshell[0]);
# 5377|   		    close(fd_fromshell[1]);
# 5378|   		    toshell_fd = fd_toshell[1];

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/os_unix.c:5376:21: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘fd_toshell[0]’
vim91/src/os_unix.c:5069:1: enter_function: entry to ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: call_function: calling ‘unix_build_argv’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: return_function: returning to ‘mch_call_shell_fork’ from ‘unix_build_argv’
vim91/src/os_unix.c:5103:8: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5111:9: branch_false: ...to here
vim91/src/os_unix.c:5111:8: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5131:27: branch_true: ...to here
vim91/src/os_unix.c:5132:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5134:31: branch_true: ...to here
vim91/src/os_unix.c:5135:20: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5141:16: branch_false: ...to here
vim91/src/os_unix.c:5141:16: branch_false: following ‘false’ branch (when ‘pipe_error == 0’)...
vim91/src/os_unix.c:5152:9: branch_false: ...to here
vim91/src/os_unix.c:5154:12: branch_false: following ‘false’ branch (when ‘pid != -1’)...
vim91/src/os_unix.c:5181:17: branch_false: ...to here
vim91/src/os_unix.c:5181:17: branch_false: following ‘false’ branch (when ‘pid != 0’)...
vim91/src/os_unix.c:5333:13: branch_false: ...to here
vim91/src/os_unix.c:5344:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5376:21: branch_true: ...to here
vim91/src/os_unix.c:5376:21: danger: ‘fd_toshell[0]’ leaks here
# 5374|   # endif
# 5375|   		{
# 5376|-> 		    close(fd_toshell[0]);
# 5377|   		    close(fd_fromshell[1]);
# 5378|   		    toshell_fd = fd_toshell[1];

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/os_unix.c:5376:21: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘fd_toshell[1]’
vim91/src/os_unix.c:5069:1: enter_function: entry to ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: call_function: calling ‘unix_build_argv’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: return_function: returning to ‘mch_call_shell_fork’ from ‘unix_build_argv’
vim91/src/os_unix.c:5103:8: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5111:9: branch_false: ...to here
vim91/src/os_unix.c:5111:8: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5131:27: branch_true: ...to here
vim91/src/os_unix.c:5132:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5134:31: branch_true: ...to here
vim91/src/os_unix.c:5135:20: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5141:16: branch_false: ...to here
vim91/src/os_unix.c:5141:16: branch_false: following ‘false’ branch (when ‘pipe_error == 0’)...
vim91/src/os_unix.c:5152:9: branch_false: ...to here
vim91/src/os_unix.c:5154:12: branch_false: following ‘false’ branch (when ‘pid != -1’)...
vim91/src/os_unix.c:5181:17: branch_false: ...to here
vim91/src/os_unix.c:5181:17: branch_false: following ‘false’ branch (when ‘pid != 0’)...
vim91/src/os_unix.c:5333:13: branch_false: ...to here
vim91/src/os_unix.c:5344:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5376:21: branch_true: ...to here
vim91/src/os_unix.c:5376:21: danger: ‘fd_toshell[1]’ leaks here
# 5374|   # endif
# 5375|   		{
# 5376|-> 		    close(fd_toshell[0]);
# 5377|   		    close(fd_fromshell[1]);
# 5378|   		    toshell_fd = fd_toshell[1];

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/os_unix.c:5377:21: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘fd_fromshell[0]’
vim91/src/os_unix.c:5069:1: enter_function: entry to ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: call_function: calling ‘unix_build_argv’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: return_function: returning to ‘mch_call_shell_fork’ from ‘unix_build_argv’
vim91/src/os_unix.c:5103:8: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5111:9: branch_false: ...to here
vim91/src/os_unix.c:5111:8: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5131:27: branch_true: ...to here
vim91/src/os_unix.c:5132:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5134:31: branch_true: ...to here
vim91/src/os_unix.c:5135:20: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5141:16: branch_false: ...to here
vim91/src/os_unix.c:5141:16: branch_false: following ‘false’ branch (when ‘pipe_error == 0’)...
vim91/src/os_unix.c:5152:9: branch_false: ...to here
vim91/src/os_unix.c:5154:12: branch_false: following ‘false’ branch (when ‘pid != -1’)...
vim91/src/os_unix.c:5181:17: branch_false: ...to here
vim91/src/os_unix.c:5181:17: branch_false: following ‘false’ branch (when ‘pid != 0’)...
vim91/src/os_unix.c:5333:13: branch_false: ...to here
vim91/src/os_unix.c:5344:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5376:21: branch_true: ...to here
vim91/src/os_unix.c:5377:21: danger: ‘fd_fromshell[0]’ leaks here
# 5375|   		{
# 5376|   		    close(fd_toshell[0]);
# 5377|-> 		    close(fd_fromshell[1]);
# 5378|   		    toshell_fd = fd_toshell[1];
# 5379|   		    fromshell_fd = fd_fromshell[0];

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/os_unix.c:5377:21: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘fd_fromshell[1]’
vim91/src/os_unix.c:5069:1: enter_function: entry to ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: call_function: calling ‘unix_build_argv’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: return_function: returning to ‘mch_call_shell_fork’ from ‘unix_build_argv’
vim91/src/os_unix.c:5103:8: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5111:9: branch_false: ...to here
vim91/src/os_unix.c:5111:8: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5131:27: branch_true: ...to here
vim91/src/os_unix.c:5132:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5134:31: branch_true: ...to here
vim91/src/os_unix.c:5135:20: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5141:16: branch_false: ...to here
vim91/src/os_unix.c:5141:16: branch_false: following ‘false’ branch (when ‘pipe_error == 0’)...
vim91/src/os_unix.c:5152:9: branch_false: ...to here
vim91/src/os_unix.c:5154:12: branch_false: following ‘false’ branch (when ‘pid != -1’)...
vim91/src/os_unix.c:5181:17: branch_false: ...to here
vim91/src/os_unix.c:5181:17: branch_false: following ‘false’ branch (when ‘pid != 0’)...
vim91/src/os_unix.c:5333:13: branch_false: ...to here
vim91/src/os_unix.c:5344:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5376:21: branch_true: ...to here
vim91/src/os_unix.c:5377:21: danger: ‘fd_fromshell[1]’ leaks here
# 5375|   		{
# 5376|   		    close(fd_toshell[0]);
# 5377|-> 		    close(fd_fromshell[1]);
# 5378|   		    toshell_fd = fd_toshell[1];
# 5379|   		    fromshell_fd = fd_fromshell[0];

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/os_unix.c:5377:21: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘fd_toshell[1]’
vim91/src/os_unix.c:5069:1: enter_function: entry to ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: call_function: calling ‘unix_build_argv’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: return_function: returning to ‘mch_call_shell_fork’ from ‘unix_build_argv’
vim91/src/os_unix.c:5103:8: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5111:9: branch_false: ...to here
vim91/src/os_unix.c:5111:8: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5131:27: branch_true: ...to here
vim91/src/os_unix.c:5132:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5134:31: branch_true: ...to here
vim91/src/os_unix.c:5135:20: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5141:16: branch_false: ...to here
vim91/src/os_unix.c:5141:16: branch_false: following ‘false’ branch (when ‘pipe_error == 0’)...
vim91/src/os_unix.c:5152:9: branch_false: ...to here
vim91/src/os_unix.c:5154:12: branch_false: following ‘false’ branch (when ‘pid != -1’)...
vim91/src/os_unix.c:5181:17: branch_false: ...to here
vim91/src/os_unix.c:5181:17: branch_false: following ‘false’ branch (when ‘pid != 0’)...
vim91/src/os_unix.c:5333:13: branch_false: ...to here
vim91/src/os_unix.c:5344:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5376:21: branch_true: ...to here
vim91/src/os_unix.c:5377:21: danger: ‘fd_toshell[1]’ leaks here
# 5375|   		{
# 5376|   		    close(fd_toshell[0]);
# 5377|-> 		    close(fd_fromshell[1]);
# 5378|   		    toshell_fd = fd_toshell[1];
# 5379|   		    fromshell_fd = fd_fromshell[0];

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/os_unix.c:5409:25: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘fromshell_fd’
vim91/src/os_unix.c:5069:1: enter_function: entry to ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: call_function: calling ‘unix_build_argv’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: return_function: returning to ‘mch_call_shell_fork’ from ‘unix_build_argv’
vim91/src/os_unix.c:5103:8: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5111:9: branch_false: ...to here
vim91/src/os_unix.c:5111:8: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5131:27: branch_true: ...to here
vim91/src/os_unix.c:5132:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5134:31: branch_true: ...to here
vim91/src/os_unix.c:5135:20: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5141:16: branch_false: ...to here
vim91/src/os_unix.c:5141:16: branch_false: following ‘false’ branch (when ‘pipe_error == 0’)...
vim91/src/os_unix.c:5152:9: branch_false: ...to here
vim91/src/os_unix.c:5154:12: branch_false: following ‘false’ branch (when ‘pid != -1’)...
vim91/src/os_unix.c:5181:17: branch_false: ...to here
vim91/src/os_unix.c:5181:17: branch_false: following ‘false’ branch (when ‘pid != 0’)...
vim91/src/os_unix.c:5333:13: branch_false: ...to here
vim91/src/os_unix.c:5344:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5376:21: branch_true: ...to here
vim91/src/os_unix.c:5403:20: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5407:24: branch_true: following ‘true’ branch (when ‘wpid == -1’)...
vim91/src/os_unix.c:5409:25: branch_true: ...to here
vim91/src/os_unix.c:5409:25: danger: ‘fromshell_fd’ leaks here
# 5407|   		    if ((wpid = fork()) == -1)
# 5408|   		    {
# 5409|-> 			msg_puts(_("\nCannot fork\n"));
# 5410|   		    }
# 5411|   		    else if (wpid == 0) // child

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/os_unix.c:5409:25: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘toshell_fd’
vim91/src/os_unix.c:5069:1: enter_function: entry to ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: call_function: calling ‘unix_build_argv’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: return_function: returning to ‘mch_call_shell_fork’ from ‘unix_build_argv’
vim91/src/os_unix.c:5103:8: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5111:9: branch_false: ...to here
vim91/src/os_unix.c:5111:8: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5131:27: branch_true: ...to here
vim91/src/os_unix.c:5132:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5134:31: branch_true: ...to here
vim91/src/os_unix.c:5135:20: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5141:16: branch_false: ...to here
vim91/src/os_unix.c:5141:16: branch_false: following ‘false’ branch (when ‘pipe_error == 0’)...
vim91/src/os_unix.c:5152:9: branch_false: ...to here
vim91/src/os_unix.c:5154:12: branch_false: following ‘false’ branch (when ‘pid != -1’)...
vim91/src/os_unix.c:5181:17: branch_false: ...to here
vim91/src/os_unix.c:5181:17: branch_false: following ‘false’ branch (when ‘pid != 0’)...
vim91/src/os_unix.c:5333:13: branch_false: ...to here
vim91/src/os_unix.c:5344:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5376:21: branch_true: ...to here
vim91/src/os_unix.c:5403:20: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5407:24: branch_true: following ‘true’ branch (when ‘wpid == -1’)...
vim91/src/os_unix.c:5409:25: branch_true: ...to here
vim91/src/os_unix.c:5409:25: danger: ‘toshell_fd’ leaks here
# 5407|   		    if ((wpid = fork()) == -1)
# 5408|   		    {
# 5409|-> 			msg_puts(_("\nCannot fork\n"));
# 5410|   		    }
# 5411|   		    else if (wpid == 0) // child

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/os_unix.c:5415:43: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘fromshell_fd’
vim91/src/os_unix.c:5069:1: enter_function: entry to ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: call_function: calling ‘unix_build_argv’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: return_function: returning to ‘mch_call_shell_fork’ from ‘unix_build_argv’
vim91/src/os_unix.c:5103:8: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5111:9: branch_false: ...to here
vim91/src/os_unix.c:5111:8: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5131:27: branch_true: ...to here
vim91/src/os_unix.c:5132:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5134:31: branch_true: ...to here
vim91/src/os_unix.c:5135:20: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5141:16: branch_false: ...to here
vim91/src/os_unix.c:5141:16: branch_false: following ‘false’ branch (when ‘pipe_error == 0’)...
vim91/src/os_unix.c:5152:9: branch_false: ...to here
vim91/src/os_unix.c:5154:12: branch_false: following ‘false’ branch (when ‘pid != -1’)...
vim91/src/os_unix.c:5181:17: branch_false: ...to here
vim91/src/os_unix.c:5181:17: branch_false: following ‘false’ branch (when ‘pid != 0’)...
vim91/src/os_unix.c:5333:13: branch_false: ...to here
vim91/src/os_unix.c:5344:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5376:21: branch_true: ...to here
vim91/src/os_unix.c:5403:20: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5407:24: branch_false: following ‘false’ branch (when ‘wpid != -1’)...
vim91/src/os_unix.c:5411:29: branch_false: ...to here
vim91/src/os_unix.c:5411:29: branch_true: following ‘true’ branch (when ‘wpid == 0’)...
vim91/src/os_unix.c:5413:50: branch_true: ...to here
vim91/src/os_unix.c:5415:43: danger: ‘fromshell_fd’ leaks here
# 5413|   			linenr_T    lnum = curbuf->b_op_start.lnum;
# 5414|   			size_t	    written = 0;
# 5415|-> 			char_u	    *lp = ml_get(lnum);
# 5416|   			size_t	    lplen = (size_t)ml_get_len(lnum);
# 5417|   

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/os_unix.c:5415:43: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘toshell_fd’
vim91/src/os_unix.c:5069:1: enter_function: entry to ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: call_function: calling ‘unix_build_argv’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: return_function: returning to ‘mch_call_shell_fork’ from ‘unix_build_argv’
vim91/src/os_unix.c:5103:8: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5111:9: branch_false: ...to here
vim91/src/os_unix.c:5111:8: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5131:27: branch_true: ...to here
vim91/src/os_unix.c:5132:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5134:31: branch_true: ...to here
vim91/src/os_unix.c:5135:20: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5141:16: branch_false: ...to here
vim91/src/os_unix.c:5141:16: branch_false: following ‘false’ branch (when ‘pipe_error == 0’)...
vim91/src/os_unix.c:5152:9: branch_false: ...to here
vim91/src/os_unix.c:5154:12: branch_false: following ‘false’ branch (when ‘pid != -1’)...
vim91/src/os_unix.c:5181:17: branch_false: ...to here
vim91/src/os_unix.c:5181:17: branch_false: following ‘false’ branch (when ‘pid != 0’)...
vim91/src/os_unix.c:5333:13: branch_false: ...to here
vim91/src/os_unix.c:5344:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5376:21: branch_true: ...to here
vim91/src/os_unix.c:5403:20: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5407:24: branch_false: following ‘false’ branch (when ‘wpid != -1’)...
vim91/src/os_unix.c:5411:29: branch_false: ...to here
vim91/src/os_unix.c:5411:29: branch_true: following ‘true’ branch (when ‘wpid == 0’)...
vim91/src/os_unix.c:5413:50: branch_true: ...to here
vim91/src/os_unix.c:5415:43: danger: ‘toshell_fd’ leaks here
# 5413|   			linenr_T    lnum = curbuf->b_op_start.lnum;
# 5414|   			size_t	    written = 0;
# 5415|-> 			char_u	    *lp = ml_get(lnum);
# 5416|   			size_t	    lplen = (size_t)ml_get_len(lnum);
# 5417|   

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/os_unix.c:5416:53: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘fromshell_fd’
vim91/src/os_unix.c:5069:1: enter_function: entry to ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: call_function: calling ‘unix_build_argv’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: return_function: returning to ‘mch_call_shell_fork’ from ‘unix_build_argv’
vim91/src/os_unix.c:5103:8: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5111:9: branch_false: ...to here
vim91/src/os_unix.c:5111:8: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5131:27: branch_true: ...to here
vim91/src/os_unix.c:5132:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5134:31: branch_true: ...to here
vim91/src/os_unix.c:5135:20: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5141:16: branch_false: ...to here
vim91/src/os_unix.c:5141:16: branch_false: following ‘false’ branch (when ‘pipe_error == 0’)...
vim91/src/os_unix.c:5152:9: branch_false: ...to here
vim91/src/os_unix.c:5154:12: branch_false: following ‘false’ branch (when ‘pid != -1’)...
vim91/src/os_unix.c:5181:17: branch_false: ...to here
vim91/src/os_unix.c:5181:17: branch_false: following ‘false’ branch (when ‘pid != 0’)...
vim91/src/os_unix.c:5333:13: branch_false: ...to here
vim91/src/os_unix.c:5344:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5376:21: branch_true: ...to here
vim91/src/os_unix.c:5403:20: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5407:24: branch_false: following ‘false’ branch (when ‘wpid != -1’)...
vim91/src/os_unix.c:5411:29: branch_false: ...to here
vim91/src/os_unix.c:5411:29: branch_true: following ‘true’ branch (when ‘wpid == 0’)...
vim91/src/os_unix.c:5413:50: branch_true: ...to here
vim91/src/os_unix.c:5416:53: danger: ‘fromshell_fd’ leaks here
# 5414|   			size_t	    written = 0;
# 5415|   			char_u	    *lp = ml_get(lnum);
# 5416|-> 			size_t	    lplen = (size_t)ml_get_len(lnum);
# 5417|   
# 5418|   			close(fromshell_fd);

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/os_unix.c:5416:53: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘toshell_fd’
vim91/src/os_unix.c:5069:1: enter_function: entry to ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: call_function: calling ‘unix_build_argv’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: return_function: returning to ‘mch_call_shell_fork’ from ‘unix_build_argv’
vim91/src/os_unix.c:5103:8: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5111:9: branch_false: ...to here
vim91/src/os_unix.c:5111:8: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5131:27: branch_true: ...to here
vim91/src/os_unix.c:5132:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5134:31: branch_true: ...to here
vim91/src/os_unix.c:5135:20: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5141:16: branch_false: ...to here
vim91/src/os_unix.c:5141:16: branch_false: following ‘false’ branch (when ‘pipe_error == 0’)...
vim91/src/os_unix.c:5152:9: branch_false: ...to here
vim91/src/os_unix.c:5154:12: branch_false: following ‘false’ branch (when ‘pid != -1’)...
vim91/src/os_unix.c:5181:17: branch_false: ...to here
vim91/src/os_unix.c:5181:17: branch_false: following ‘false’ branch (when ‘pid != 0’)...
vim91/src/os_unix.c:5333:13: branch_false: ...to here
vim91/src/os_unix.c:5344:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5376:21: branch_true: ...to here
vim91/src/os_unix.c:5403:20: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5407:24: branch_false: following ‘false’ branch (when ‘wpid != -1’)...
vim91/src/os_unix.c:5411:29: branch_false: ...to here
vim91/src/os_unix.c:5411:29: branch_true: following ‘true’ branch (when ‘wpid == 0’)...
vim91/src/os_unix.c:5413:50: branch_true: ...to here
vim91/src/os_unix.c:5416:53: danger: ‘toshell_fd’ leaks here
# 5414|   			size_t	    written = 0;
# 5415|   			char_u	    *lp = ml_get(lnum);
# 5416|-> 			size_t	    lplen = (size_t)ml_get_len(lnum);
# 5417|   
# 5418|   			close(fromshell_fd);

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/os_unix.c:5418:25: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘fromshell_fd’
vim91/src/os_unix.c:5069:1: enter_function: entry to ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: call_function: calling ‘unix_build_argv’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: return_function: returning to ‘mch_call_shell_fork’ from ‘unix_build_argv’
vim91/src/os_unix.c:5103:8: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5111:9: branch_false: ...to here
vim91/src/os_unix.c:5111:8: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5131:27: branch_true: ...to here
vim91/src/os_unix.c:5132:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5134:31: branch_true: ...to here
vim91/src/os_unix.c:5135:20: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5141:16: branch_false: ...to here
vim91/src/os_unix.c:5141:16: branch_false: following ‘false’ branch (when ‘pipe_error == 0’)...
vim91/src/os_unix.c:5152:9: branch_false: ...to here
vim91/src/os_unix.c:5154:12: branch_false: following ‘false’ branch (when ‘pid != -1’)...
vim91/src/os_unix.c:5181:17: branch_false: ...to here
vim91/src/os_unix.c:5181:17: branch_false: following ‘false’ branch (when ‘pid != 0’)...
vim91/src/os_unix.c:5333:13: branch_false: ...to here
vim91/src/os_unix.c:5344:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5376:21: branch_true: ...to here
vim91/src/os_unix.c:5403:20: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5407:24: branch_false: following ‘false’ branch (when ‘wpid != -1’)...
vim91/src/os_unix.c:5411:29: branch_false: ...to here
vim91/src/os_unix.c:5411:29: branch_true: following ‘true’ branch (when ‘wpid == 0’)...
vim91/src/os_unix.c:5413:50: branch_true: ...to here
vim91/src/os_unix.c:5418:25: danger: ‘fromshell_fd’ leaks here
# 5416|   			size_t	    lplen = (size_t)ml_get_len(lnum);
# 5417|   
# 5418|-> 			close(fromshell_fd);
# 5419|   			for (;;)
# 5420|   			{

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/os_unix.c:5418:25: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘toshell_fd’
vim91/src/os_unix.c:5069:1: enter_function: entry to ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: call_function: calling ‘unix_build_argv’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: return_function: returning to ‘mch_call_shell_fork’ from ‘unix_build_argv’
vim91/src/os_unix.c:5103:8: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5111:9: branch_false: ...to here
vim91/src/os_unix.c:5111:8: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5131:27: branch_true: ...to here
vim91/src/os_unix.c:5132:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5134:31: branch_true: ...to here
vim91/src/os_unix.c:5135:20: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5141:16: branch_false: ...to here
vim91/src/os_unix.c:5141:16: branch_false: following ‘false’ branch (when ‘pipe_error == 0’)...
vim91/src/os_unix.c:5152:9: branch_false: ...to here
vim91/src/os_unix.c:5154:12: branch_false: following ‘false’ branch (when ‘pid != -1’)...
vim91/src/os_unix.c:5181:17: branch_false: ...to here
vim91/src/os_unix.c:5181:17: branch_false: following ‘false’ branch (when ‘pid != 0’)...
vim91/src/os_unix.c:5333:13: branch_false: ...to here
vim91/src/os_unix.c:5344:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5376:21: branch_true: ...to here
vim91/src/os_unix.c:5403:20: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5407:24: branch_false: following ‘false’ branch (when ‘wpid != -1’)...
vim91/src/os_unix.c:5411:29: branch_false: ...to here
vim91/src/os_unix.c:5411:29: branch_true: following ‘true’ branch (when ‘wpid == 0’)...
vim91/src/os_unix.c:5413:50: branch_true: ...to here
vim91/src/os_unix.c:5418:25: danger: ‘toshell_fd’ leaks here
# 5416|   			size_t	    lplen = (size_t)ml_get_len(lnum);
# 5417|   
# 5418|-> 			close(fromshell_fd);
# 5419|   			for (;;)
# 5420|   			{

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/os_unix.c:5425:39: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘toshell_fd’
vim91/src/os_unix.c:5069:1: enter_function: entry to ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: call_function: calling ‘unix_build_argv’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: return_function: returning to ‘mch_call_shell_fork’ from ‘unix_build_argv’
vim91/src/os_unix.c:5103:8: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5111:9: branch_false: ...to here
vim91/src/os_unix.c:5111:8: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5131:27: branch_true: ...to here
vim91/src/os_unix.c:5132:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5134:31: branch_true: ...to here
vim91/src/os_unix.c:5135:20: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5141:16: branch_false: ...to here
vim91/src/os_unix.c:5141:16: branch_false: following ‘false’ branch (when ‘pipe_error == 0’)...
vim91/src/os_unix.c:5152:9: branch_false: ...to here
vim91/src/os_unix.c:5154:12: branch_false: following ‘false’ branch (when ‘pid != -1’)...
vim91/src/os_unix.c:5181:17: branch_false: ...to here
vim91/src/os_unix.c:5181:17: branch_false: following ‘false’ branch (when ‘pid != 0’)...
vim91/src/os_unix.c:5333:13: branch_false: ...to here
vim91/src/os_unix.c:5344:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5376:21: branch_true: ...to here
vim91/src/os_unix.c:5403:20: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5407:24: branch_false: following ‘false’ branch (when ‘wpid != -1’)...
vim91/src/os_unix.c:5411:29: branch_false: ...to here
vim91/src/os_unix.c:5411:29: branch_true: following ‘true’ branch (when ‘wpid == 0’)...
vim91/src/os_unix.c:5413:50: branch_true: ...to here
vim91/src/os_unix.c:5425:39: danger: ‘toshell_fd’ leaks here
# 5423|   			    else if (lp[written] == NL)
# 5424|   				// NL -> NUL translation
# 5425|-> 				len = write(toshell_fd, "", (size_t)1);
# 5426|   			    else
# 5427|   			    {

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/os_unix.c:5428:46: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘toshell_fd’
vim91/src/os_unix.c:5069:1: enter_function: entry to ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: call_function: calling ‘unix_build_argv’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: return_function: returning to ‘mch_call_shell_fork’ from ‘unix_build_argv’
vim91/src/os_unix.c:5103:8: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5111:9: branch_false: ...to here
vim91/src/os_unix.c:5111:8: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5131:27: branch_true: ...to here
vim91/src/os_unix.c:5132:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5134:31: branch_true: ...to here
vim91/src/os_unix.c:5135:20: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5141:16: branch_false: ...to here
vim91/src/os_unix.c:5141:16: branch_false: following ‘false’ branch (when ‘pipe_error == 0’)...
vim91/src/os_unix.c:5152:9: branch_false: ...to here
vim91/src/os_unix.c:5154:12: branch_false: following ‘false’ branch (when ‘pid != -1’)...
vim91/src/os_unix.c:5181:17: branch_false: ...to here
vim91/src/os_unix.c:5181:17: branch_false: following ‘false’ branch (when ‘pid != 0’)...
vim91/src/os_unix.c:5333:13: branch_false: ...to here
vim91/src/os_unix.c:5344:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5376:21: branch_true: ...to here
vim91/src/os_unix.c:5403:20: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5407:24: branch_false: following ‘false’ branch (when ‘wpid != -1’)...
vim91/src/os_unix.c:5411:29: branch_false: ...to here
vim91/src/os_unix.c:5411:29: branch_true: following ‘true’ branch (when ‘wpid == 0’)...
vim91/src/os_unix.c:5413:50: branch_true: ...to here
vim91/src/os_unix.c:5428:46: danger: ‘toshell_fd’ leaks here
# 5426|   			    else
# 5427|   			    {
# 5428|-> 				char_u	*s = vim_strchr(lp + written, NL);
# 5429|   
# 5430|   				len = write(toshell_fd, (char *)lp + written,

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/os_unix.c:5430:39: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘toshell_fd’
vim91/src/os_unix.c:5069:1: enter_function: entry to ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: call_function: calling ‘unix_build_argv’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: return_function: returning to ‘mch_call_shell_fork’ from ‘unix_build_argv’
vim91/src/os_unix.c:5103:8: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5111:9: branch_false: ...to here
vim91/src/os_unix.c:5111:8: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5131:27: branch_true: ...to here
vim91/src/os_unix.c:5132:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5134:31: branch_true: ...to here
vim91/src/os_unix.c:5135:20: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5141:16: branch_false: ...to here
vim91/src/os_unix.c:5141:16: branch_false: following ‘false’ branch (when ‘pipe_error == 0’)...
vim91/src/os_unix.c:5152:9: branch_false: ...to here
vim91/src/os_unix.c:5154:12: branch_false: following ‘false’ branch (when ‘pid != -1’)...
vim91/src/os_unix.c:5181:17: branch_false: ...to here
vim91/src/os_unix.c:5181:17: branch_false: following ‘false’ branch (when ‘pid != 0’)...
vim91/src/os_unix.c:5333:13: branch_false: ...to here
vim91/src/os_unix.c:5344:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5376:21: branch_true: ...to here
vim91/src/os_unix.c:5403:20: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5407:24: branch_false: following ‘false’ branch (when ‘wpid != -1’)...
vim91/src/os_unix.c:5411:29: branch_false: ...to here
vim91/src/os_unix.c:5411:29: branch_true: following ‘true’ branch (when ‘wpid == 0’)...
vim91/src/os_unix.c:5413:50: branch_true: ...to here
vim91/src/os_unix.c:5430:39: danger: ‘toshell_fd’ leaks here
# 5428|   				char_u	*s = vim_strchr(lp + written, NL);
# 5429|   
# 5430|-> 				len = write(toshell_fd, (char *)lp + written,
# 5431|   					   s == NULL ? lplen - written
# 5432|   					      : (size_t)(s - (lp + written)));

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/os_unix.c:5444:51: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘toshell_fd’
vim91/src/os_unix.c:5069:1: enter_function: entry to ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: call_function: calling ‘unix_build_argv’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: return_function: returning to ‘mch_call_shell_fork’ from ‘unix_build_argv’
vim91/src/os_unix.c:5103:8: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5111:9: branch_false: ...to here
vim91/src/os_unix.c:5111:8: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5131:27: branch_true: ...to here
vim91/src/os_unix.c:5132:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5134:31: branch_true: ...to here
vim91/src/os_unix.c:5135:20: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5141:16: branch_false: ...to here
vim91/src/os_unix.c:5141:16: branch_false: following ‘false’ branch (when ‘pipe_error == 0’)...
vim91/src/os_unix.c:5152:9: branch_false: ...to here
vim91/src/os_unix.c:5154:12: branch_false: following ‘false’ branch (when ‘pid != -1’)...
vim91/src/os_unix.c:5181:17: branch_false: ...to here
vim91/src/os_unix.c:5181:17: branch_false: following ‘false’ branch (when ‘pid != 0’)...
vim91/src/os_unix.c:5333:13: branch_false: ...to here
vim91/src/os_unix.c:5344:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5376:21: branch_true: ...to here
vim91/src/os_unix.c:5403:20: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5407:24: branch_false: following ‘false’ branch (when ‘wpid != -1’)...
vim91/src/os_unix.c:5411:29: branch_false: ...to here
vim91/src/os_unix.c:5411:29: branch_true: following ‘true’ branch (when ‘wpid == 0’)...
vim91/src/os_unix.c:5413:50: branch_true: ...to here
vim91/src/os_unix.c:5421:32: branch_true: following ‘true’ branch (when ‘lplen == 0’)...
vim91/src/os_unix.c:5434:45: branch_true: ...to here
vim91/src/os_unix.c:5434:32: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5438:51: branch_true: ...to here
vim91/src/os_unix.c:5438:36: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5444:51: branch_true: ...to here
vim91/src/os_unix.c:5444:51: danger: ‘toshell_fd’ leaks here
# 5442|   					    && (lnum != curbuf->b_ml.ml_line_count
# 5443|   						    || curbuf->b_p_eol)))
# 5444|-> 				    vim_ignored = write(toshell_fd, "\n",
# 5445|   								   (size_t)1);
# 5446|   				++lnum;

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/os_unix.c:5450:37: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘toshell_fd’
vim91/src/os_unix.c:5069:1: enter_function: entry to ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: call_function: calling ‘unix_build_argv’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: return_function: returning to ‘mch_call_shell_fork’ from ‘unix_build_argv’
vim91/src/os_unix.c:5103:8: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5111:9: branch_false: ...to here
vim91/src/os_unix.c:5111:8: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5131:27: branch_true: ...to here
vim91/src/os_unix.c:5132:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5134:31: branch_true: ...to here
vim91/src/os_unix.c:5135:20: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5141:16: branch_false: ...to here
vim91/src/os_unix.c:5141:16: branch_false: following ‘false’ branch (when ‘pipe_error == 0’)...
vim91/src/os_unix.c:5152:9: branch_false: ...to here
vim91/src/os_unix.c:5154:12: branch_false: following ‘false’ branch (when ‘pid != -1’)...
vim91/src/os_unix.c:5181:17: branch_false: ...to here
vim91/src/os_unix.c:5181:17: branch_false: following ‘false’ branch (when ‘pid != 0’)...
vim91/src/os_unix.c:5333:13: branch_false: ...to here
vim91/src/os_unix.c:5344:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5376:21: branch_true: ...to here
vim91/src/os_unix.c:5403:20: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5407:24: branch_false: following ‘false’ branch (when ‘wpid != -1’)...
vim91/src/os_unix.c:5411:29: branch_false: ...to here
vim91/src/os_unix.c:5411:29: branch_true: following ‘true’ branch (when ‘wpid == 0’)...
vim91/src/os_unix.c:5413:50: branch_true: ...to here
vim91/src/os_unix.c:5450:37: danger: ‘toshell_fd’ leaks here
# 5448|   				{
# 5449|   				    // finished all the lines, close pipe
# 5450|-> 				    close(toshell_fd);
# 5451|   				    break;
# 5452|   				}

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/os_unix.c:5453:38: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘toshell_fd’
vim91/src/os_unix.c:5069:1: enter_function: entry to ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: call_function: calling ‘unix_build_argv’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: return_function: returning to ‘mch_call_shell_fork’ from ‘unix_build_argv’
vim91/src/os_unix.c:5103:8: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5111:9: branch_false: ...to here
vim91/src/os_unix.c:5111:8: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5131:27: branch_true: ...to here
vim91/src/os_unix.c:5132:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5134:31: branch_true: ...to here
vim91/src/os_unix.c:5135:20: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5141:16: branch_false: ...to here
vim91/src/os_unix.c:5141:16: branch_false: following ‘false’ branch (when ‘pipe_error == 0’)...
vim91/src/os_unix.c:5152:9: branch_false: ...to here
vim91/src/os_unix.c:5154:12: branch_false: following ‘false’ branch (when ‘pid != -1’)...
vim91/src/os_unix.c:5181:17: branch_false: ...to here
vim91/src/os_unix.c:5181:17: branch_false: following ‘false’ branch (when ‘pid != 0’)...
vim91/src/os_unix.c:5333:13: branch_false: ...to here
vim91/src/os_unix.c:5344:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5376:21: branch_true: ...to here
vim91/src/os_unix.c:5403:20: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5407:24: branch_false: following ‘false’ branch (when ‘wpid != -1’)...
vim91/src/os_unix.c:5411:29: branch_false: ...to here
vim91/src/os_unix.c:5411:29: branch_true: following ‘true’ branch (when ‘wpid == 0’)...
vim91/src/os_unix.c:5413:50: branch_true: ...to here
vim91/src/os_unix.c:5421:32: branch_true: following ‘true’ branch (when ‘lplen == 0’)...
vim91/src/os_unix.c:5434:45: branch_true: ...to here
vim91/src/os_unix.c:5434:32: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5438:51: branch_true: ...to here
vim91/src/os_unix.c:5438:36: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5444:51: branch_true: ...to here
vim91/src/os_unix.c:5447:36: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5453:38: branch_false: ...to here
vim91/src/os_unix.c:5453:38: danger: ‘toshell_fd’ leaks here
# 5451|   				    break;
# 5452|   				}
# 5453|-> 				lp = ml_get(lnum);
# 5454|   				lplen = ml_get_len(lnum);
# 5455|   				written = 0;

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/os_unix.c:5454:41: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘toshell_fd’
vim91/src/os_unix.c:5069:1: enter_function: entry to ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: call_function: calling ‘unix_build_argv’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: return_function: returning to ‘mch_call_shell_fork’ from ‘unix_build_argv’
vim91/src/os_unix.c:5103:8: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5111:9: branch_false: ...to here
vim91/src/os_unix.c:5111:8: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5131:27: branch_true: ...to here
vim91/src/os_unix.c:5132:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5134:31: branch_true: ...to here
vim91/src/os_unix.c:5135:20: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5141:16: branch_false: ...to here
vim91/src/os_unix.c:5141:16: branch_false: following ‘false’ branch (when ‘pipe_error == 0’)...
vim91/src/os_unix.c:5152:9: branch_false: ...to here
vim91/src/os_unix.c:5154:12: branch_false: following ‘false’ branch (when ‘pid != -1’)...
vim91/src/os_unix.c:5181:17: branch_false: ...to here
vim91/src/os_unix.c:5181:17: branch_false: following ‘false’ branch (when ‘pid != 0’)...
vim91/src/os_unix.c:5333:13: branch_false: ...to here
vim91/src/os_unix.c:5344:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5376:21: branch_true: ...to here
vim91/src/os_unix.c:5403:20: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5407:24: branch_false: following ‘false’ branch (when ‘wpid != -1’)...
vim91/src/os_unix.c:5411:29: branch_false: ...to here
vim91/src/os_unix.c:5411:29: branch_true: following ‘true’ branch (when ‘wpid == 0’)...
vim91/src/os_unix.c:5413:50: branch_true: ...to here
vim91/src/os_unix.c:5421:32: branch_true: following ‘true’ branch (when ‘lplen == 0’)...
vim91/src/os_unix.c:5434:45: branch_true: ...to here
vim91/src/os_unix.c:5434:32: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5438:51: branch_true: ...to here
vim91/src/os_unix.c:5438:36: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5444:51: branch_true: ...to here
vim91/src/os_unix.c:5447:36: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5453:38: branch_false: ...to here
vim91/src/os_unix.c:5454:41: danger: ‘toshell_fd’ leaks here
# 5452|   				}
# 5453|   				lp = ml_get(lnum);
# 5454|-> 				lplen = ml_get_len(lnum);
# 5455|   				written = 0;
# 5456|   			    }

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/os_unix.c:5464:25: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘fromshell_fd’
vim91/src/os_unix.c:5069:1: enter_function: entry to ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: call_function: calling ‘unix_build_argv’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: return_function: returning to ‘mch_call_shell_fork’ from ‘unix_build_argv’
vim91/src/os_unix.c:5103:8: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5111:9: branch_false: ...to here
vim91/src/os_unix.c:5111:8: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5131:27: branch_true: ...to here
vim91/src/os_unix.c:5132:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5134:31: branch_true: ...to here
vim91/src/os_unix.c:5135:20: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5141:16: branch_false: ...to here
vim91/src/os_unix.c:5141:16: branch_false: following ‘false’ branch (when ‘pipe_error == 0’)...
vim91/src/os_unix.c:5152:9: branch_false: ...to here
vim91/src/os_unix.c:5154:12: branch_false: following ‘false’ branch (when ‘pid != -1’)...
vim91/src/os_unix.c:5181:17: branch_false: ...to here
vim91/src/os_unix.c:5181:17: branch_false: following ‘false’ branch (when ‘pid != 0’)...
vim91/src/os_unix.c:5333:13: branch_false: ...to here
vim91/src/os_unix.c:5344:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5376:21: branch_true: ...to here
vim91/src/os_unix.c:5403:20: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5407:24: branch_false: following ‘false’ branch (when ‘wpid != -1’)...
vim91/src/os_unix.c:5411:29: branch_false: ...to here
vim91/src/os_unix.c:5411:29: branch_false: following ‘false’ branch (when ‘wpid != 0’)...
vim91/src/os_unix.c:5464:25: branch_false: ...to here
vim91/src/os_unix.c:5464:25: danger: ‘fromshell_fd’ leaks here
# 5462|   		    else // parent
# 5463|   		    {
# 5464|-> 			close(toshell_fd);
# 5465|   			toshell_fd = -1;
# 5466|   		    }

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/os_unix.c:5464:25: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘toshell_fd’
vim91/src/os_unix.c:5069:1: enter_function: entry to ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: call_function: calling ‘unix_build_argv’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: return_function: returning to ‘mch_call_shell_fork’ from ‘unix_build_argv’
vim91/src/os_unix.c:5103:8: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5111:9: branch_false: ...to here
vim91/src/os_unix.c:5111:8: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5131:27: branch_true: ...to here
vim91/src/os_unix.c:5132:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5134:31: branch_true: ...to here
vim91/src/os_unix.c:5135:20: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5141:16: branch_false: ...to here
vim91/src/os_unix.c:5141:16: branch_false: following ‘false’ branch (when ‘pipe_error == 0’)...
vim91/src/os_unix.c:5152:9: branch_false: ...to here
vim91/src/os_unix.c:5154:12: branch_false: following ‘false’ branch (when ‘pid != -1’)...
vim91/src/os_unix.c:5181:17: branch_false: ...to here
vim91/src/os_unix.c:5181:17: branch_false: following ‘false’ branch (when ‘pid != 0’)...
vim91/src/os_unix.c:5333:13: branch_false: ...to here
vim91/src/os_unix.c:5344:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5376:21: branch_true: ...to here
vim91/src/os_unix.c:5403:20: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5407:24: branch_false: following ‘false’ branch (when ‘wpid != -1’)...
vim91/src/os_unix.c:5411:29: branch_false: ...to here
vim91/src/os_unix.c:5411:29: branch_false: following ‘false’ branch (when ‘wpid != 0’)...
vim91/src/os_unix.c:5464:25: branch_false: ...to here
vim91/src/os_unix.c:5464:25: danger: ‘toshell_fd’ leaks here
# 5462|   		    else // parent
# 5463|   		    {
# 5464|-> 			close(toshell_fd);
# 5465|   			toshell_fd = -1;
# 5466|   		    }

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/os_unix.c:5470:21: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘fromshell_fd’
vim91/src/os_unix.c:5069:1: enter_function: entry to ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: call_function: calling ‘unix_build_argv’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: return_function: returning to ‘mch_call_shell_fork’ from ‘unix_build_argv’
vim91/src/os_unix.c:5103:8: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5111:9: branch_false: ...to here
vim91/src/os_unix.c:5111:8: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5131:27: branch_true: ...to here
vim91/src/os_unix.c:5132:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5134:31: branch_true: ...to here
vim91/src/os_unix.c:5135:20: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5141:16: branch_false: ...to here
vim91/src/os_unix.c:5141:16: branch_false: following ‘false’ branch (when ‘pipe_error == 0’)...
vim91/src/os_unix.c:5152:9: branch_false: ...to here
vim91/src/os_unix.c:5154:12: branch_false: following ‘false’ branch (when ‘pid != -1’)...
vim91/src/os_unix.c:5181:17: branch_false: ...to here
vim91/src/os_unix.c:5181:17: branch_false: following ‘false’ branch (when ‘pid != 0’)...
vim91/src/os_unix.c:5333:13: branch_false: ...to here
vim91/src/os_unix.c:5344:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5376:21: branch_true: ...to here
vim91/src/os_unix.c:5403:20: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5469:21: branch_false: ...to here
vim91/src/os_unix.c:5469:20: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5470:21: branch_true: ...to here
vim91/src/os_unix.c:5470:21: danger: ‘fromshell_fd’ leaks here
# 5468|   
# 5469|   		if (options & SHELL_READ)
# 5470|-> 		    ga_init2(&ga, 1, BUFLEN);
# 5471|   
# 5472|   		noread_cnt = 0;

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/os_unix.c:5470:21: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘toshell_fd’
vim91/src/os_unix.c:5069:1: enter_function: entry to ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: call_function: calling ‘unix_build_argv’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: return_function: returning to ‘mch_call_shell_fork’ from ‘unix_build_argv’
vim91/src/os_unix.c:5103:8: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5111:9: branch_false: ...to here
vim91/src/os_unix.c:5111:8: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5131:27: branch_true: ...to here
vim91/src/os_unix.c:5132:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5134:31: branch_true: ...to here
vim91/src/os_unix.c:5135:20: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5141:16: branch_false: ...to here
vim91/src/os_unix.c:5141:16: branch_false: following ‘false’ branch (when ‘pipe_error == 0’)...
vim91/src/os_unix.c:5152:9: branch_false: ...to here
vim91/src/os_unix.c:5154:12: branch_false: following ‘false’ branch (when ‘pid != -1’)...
vim91/src/os_unix.c:5181:17: branch_false: ...to here
vim91/src/os_unix.c:5181:17: branch_false: following ‘false’ branch (when ‘pid != 0’)...
vim91/src/os_unix.c:5333:13: branch_false: ...to here
vim91/src/os_unix.c:5344:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5376:21: branch_true: ...to here
vim91/src/os_unix.c:5403:20: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5469:21: branch_false: ...to here
vim91/src/os_unix.c:5469:20: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5470:21: branch_true: ...to here
vim91/src/os_unix.c:5470:21: danger: ‘toshell_fd’ leaks here
# 5468|   
# 5469|   		if (options & SHELL_READ)
# 5470|-> 		    ga_init2(&ga, 1, BUFLEN);
# 5471|   
# 5472|   		noread_cnt = 0;

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/os_unix.c:5902:5: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘fd_fromshell[0]’
vim91/src/os_unix.c:5069:1: enter_function: entry to ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: call_function: calling ‘unix_build_argv’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: return_function: returning to ‘mch_call_shell_fork’ from ‘unix_build_argv’
vim91/src/os_unix.c:5103:8: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5111:9: branch_false: ...to here
vim91/src/os_unix.c:5111:8: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5131:27: branch_true: ...to here
vim91/src/os_unix.c:5132:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5134:31: branch_true: ...to here
vim91/src/os_unix.c:5135:20: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5141:16: branch_false: ...to here
vim91/src/os_unix.c:5141:16: branch_false: following ‘false’ branch (when ‘pipe_error == 0’)...
vim91/src/os_unix.c:5152:9: branch_false: ...to here
vim91/src/os_unix.c:5154:12: branch_true: following ‘true’ branch (when ‘pid == -1’)...
vim91/src/os_unix.c:5156:13: call_function: inlined call to ‘unblock_signals’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5159:16: branch_false: following ‘false’ branch...
<unknown>: branch_false: ...to here
vim91/src/os_unix.c:5902:5: danger: ‘fd_fromshell[0]’ leaks here
# 5900|   	if (tmode == TMODE_RAW)
# 5901|   	    settmode(TMODE_RAW);	// set to raw mode
# 5902|->     resettitle();
# 5903|       vim_free(argv);
# 5904|       vim_free(tofree1);

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/os_unix.c:5902:5: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘fd_fromshell[1]’
vim91/src/os_unix.c:5069:1: enter_function: entry to ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: call_function: calling ‘unix_build_argv’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: return_function: returning to ‘mch_call_shell_fork’ from ‘unix_build_argv’
vim91/src/os_unix.c:5103:8: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5111:9: branch_false: ...to here
vim91/src/os_unix.c:5111:8: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5131:27: branch_true: ...to here
vim91/src/os_unix.c:5132:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5134:31: branch_true: ...to here
vim91/src/os_unix.c:5135:20: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5141:16: branch_false: ...to here
vim91/src/os_unix.c:5141:16: branch_false: following ‘false’ branch (when ‘pipe_error == 0’)...
vim91/src/os_unix.c:5152:9: branch_false: ...to here
vim91/src/os_unix.c:5154:12: branch_true: following ‘true’ branch (when ‘pid == -1’)...
vim91/src/os_unix.c:5156:13: call_function: inlined call to ‘unblock_signals’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5159:16: branch_false: following ‘false’ branch...
<unknown>: branch_false: ...to here
vim91/src/os_unix.c:5902:5: danger: ‘fd_fromshell[1]’ leaks here
# 5900|   	if (tmode == TMODE_RAW)
# 5901|   	    settmode(TMODE_RAW);	// set to raw mode
# 5902|->     resettitle();
# 5903|       vim_free(argv);
# 5904|       vim_free(tofree1);

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/os_unix.c:5902:5: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘fd_toshell[0]’
vim91/src/os_unix.c:5069:1: enter_function: entry to ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: call_function: calling ‘unix_build_argv’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: return_function: returning to ‘mch_call_shell_fork’ from ‘unix_build_argv’
vim91/src/os_unix.c:5103:8: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5111:9: branch_false: ...to here
vim91/src/os_unix.c:5111:8: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5131:27: branch_true: ...to here
vim91/src/os_unix.c:5132:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5134:31: branch_true: ...to here
vim91/src/os_unix.c:5135:20: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5141:16: branch_false: ...to here
vim91/src/os_unix.c:5141:16: branch_false: following ‘false’ branch (when ‘pipe_error == 0’)...
vim91/src/os_unix.c:5152:9: branch_false: ...to here
vim91/src/os_unix.c:5154:12: branch_true: following ‘true’ branch (when ‘pid == -1’)...
vim91/src/os_unix.c:5156:13: call_function: inlined call to ‘unblock_signals’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5159:16: branch_false: following ‘false’ branch...
<unknown>: branch_false: ...to here
vim91/src/os_unix.c:5902:5: danger: ‘fd_toshell[0]’ leaks here
# 5900|   	if (tmode == TMODE_RAW)
# 5901|   	    settmode(TMODE_RAW);	// set to raw mode
# 5902|->     resettitle();
# 5903|       vim_free(argv);
# 5904|       vim_free(tofree1);

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/os_unix.c:5902:5: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘fd_toshell[1]’
vim91/src/os_unix.c:5069:1: enter_function: entry to ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: call_function: calling ‘unix_build_argv’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: return_function: returning to ‘mch_call_shell_fork’ from ‘unix_build_argv’
vim91/src/os_unix.c:5103:8: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5111:9: branch_false: ...to here
vim91/src/os_unix.c:5111:8: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5131:27: branch_true: ...to here
vim91/src/os_unix.c:5132:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5134:31: branch_true: ...to here
vim91/src/os_unix.c:5135:20: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5141:16: branch_false: ...to here
vim91/src/os_unix.c:5141:16: branch_false: following ‘false’ branch (when ‘pipe_error == 0’)...
vim91/src/os_unix.c:5152:9: branch_false: ...to here
vim91/src/os_unix.c:5154:12: branch_true: following ‘true’ branch (when ‘pid == -1’)...
vim91/src/os_unix.c:5156:13: call_function: inlined call to ‘unblock_signals’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5159:16: branch_false: following ‘false’ branch...
<unknown>: branch_false: ...to here
vim91/src/os_unix.c:5902:5: danger: ‘fd_toshell[1]’ leaks here
# 5900|   	if (tmode == TMODE_RAW)
# 5901|   	    settmode(TMODE_RAW);	// set to raw mode
# 5902|->     resettitle();
# 5903|       vim_free(argv);
# 5904|       vim_free(tofree1);

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/os_unix.c:5903:5: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘fd_fromshell[0]’
vim91/src/os_unix.c:5069:1: enter_function: entry to ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: call_function: calling ‘unix_build_argv’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: return_function: returning to ‘mch_call_shell_fork’ from ‘unix_build_argv’
vim91/src/os_unix.c:5103:8: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5111:9: branch_false: ...to here
vim91/src/os_unix.c:5111:8: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5131:27: branch_true: ...to here
vim91/src/os_unix.c:5132:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5134:31: branch_true: ...to here
vim91/src/os_unix.c:5135:20: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5141:16: branch_false: ...to here
vim91/src/os_unix.c:5141:16: branch_false: following ‘false’ branch (when ‘pipe_error == 0’)...
vim91/src/os_unix.c:5152:9: branch_false: ...to here
vim91/src/os_unix.c:5154:12: branch_true: following ‘true’ branch (when ‘pid == -1’)...
vim91/src/os_unix.c:5156:13: call_function: inlined call to ‘unblock_signals’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5159:16: branch_false: following ‘false’ branch...
<unknown>: branch_false: ...to here
vim91/src/os_unix.c:5903:5: danger: ‘fd_fromshell[0]’ leaks here
# 5901|   	    settmode(TMODE_RAW);	// set to raw mode
# 5902|       resettitle();
# 5903|->     vim_free(argv);
# 5904|       vim_free(tofree1);
# 5905|       vim_free(tofree2);

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/os_unix.c:5903:5: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘fd_fromshell[1]’
vim91/src/os_unix.c:5069:1: enter_function: entry to ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: call_function: calling ‘unix_build_argv’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: return_function: returning to ‘mch_call_shell_fork’ from ‘unix_build_argv’
vim91/src/os_unix.c:5103:8: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5111:9: branch_false: ...to here
vim91/src/os_unix.c:5111:8: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5131:27: branch_true: ...to here
vim91/src/os_unix.c:5132:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5134:31: branch_true: ...to here
vim91/src/os_unix.c:5135:20: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5141:16: branch_false: ...to here
vim91/src/os_unix.c:5141:16: branch_false: following ‘false’ branch (when ‘pipe_error == 0’)...
vim91/src/os_unix.c:5152:9: branch_false: ...to here
vim91/src/os_unix.c:5154:12: branch_true: following ‘true’ branch (when ‘pid == -1’)...
vim91/src/os_unix.c:5156:13: call_function: inlined call to ‘unblock_signals’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5159:16: branch_false: following ‘false’ branch...
<unknown>: branch_false: ...to here
vim91/src/os_unix.c:5903:5: danger: ‘fd_fromshell[1]’ leaks here
# 5901|   	    settmode(TMODE_RAW);	// set to raw mode
# 5902|       resettitle();
# 5903|->     vim_free(argv);
# 5904|       vim_free(tofree1);
# 5905|       vim_free(tofree2);

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/os_unix.c:5903:5: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘fd_toshell[0]’
vim91/src/os_unix.c:5069:1: enter_function: entry to ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: call_function: calling ‘unix_build_argv’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: return_function: returning to ‘mch_call_shell_fork’ from ‘unix_build_argv’
vim91/src/os_unix.c:5103:8: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5111:9: branch_false: ...to here
vim91/src/os_unix.c:5111:8: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5131:27: branch_true: ...to here
vim91/src/os_unix.c:5132:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5134:31: branch_true: ...to here
vim91/src/os_unix.c:5135:20: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5141:16: branch_false: ...to here
vim91/src/os_unix.c:5141:16: branch_false: following ‘false’ branch (when ‘pipe_error == 0’)...
vim91/src/os_unix.c:5152:9: branch_false: ...to here
vim91/src/os_unix.c:5154:12: branch_true: following ‘true’ branch (when ‘pid == -1’)...
vim91/src/os_unix.c:5156:13: call_function: inlined call to ‘unblock_signals’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5159:16: branch_false: following ‘false’ branch...
<unknown>: branch_false: ...to here
vim91/src/os_unix.c:5903:5: danger: ‘fd_toshell[0]’ leaks here
# 5901|   	    settmode(TMODE_RAW);	// set to raw mode
# 5902|       resettitle();
# 5903|->     vim_free(argv);
# 5904|       vim_free(tofree1);
# 5905|       vim_free(tofree2);

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/os_unix.c:5903:5: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘fd_toshell[1]’
vim91/src/os_unix.c:5069:1: enter_function: entry to ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: call_function: calling ‘unix_build_argv’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: return_function: returning to ‘mch_call_shell_fork’ from ‘unix_build_argv’
vim91/src/os_unix.c:5103:8: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5111:9: branch_false: ...to here
vim91/src/os_unix.c:5111:8: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5131:27: branch_true: ...to here
vim91/src/os_unix.c:5132:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5134:31: branch_true: ...to here
vim91/src/os_unix.c:5135:20: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5141:16: branch_false: ...to here
vim91/src/os_unix.c:5141:16: branch_false: following ‘false’ branch (when ‘pipe_error == 0’)...
vim91/src/os_unix.c:5152:9: branch_false: ...to here
vim91/src/os_unix.c:5154:12: branch_true: following ‘true’ branch (when ‘pid == -1’)...
vim91/src/os_unix.c:5156:13: call_function: inlined call to ‘unblock_signals’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5159:16: branch_false: following ‘false’ branch...
<unknown>: branch_false: ...to here
vim91/src/os_unix.c:5903:5: danger: ‘fd_toshell[1]’ leaks here
# 5901|   	    settmode(TMODE_RAW);	// set to raw mode
# 5902|       resettitle();
# 5903|->     vim_free(argv);
# 5904|       vim_free(tofree1);
# 5905|       vim_free(tofree2);

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/os_unix.c:5904:5: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘fd_fromshell[0]’
vim91/src/os_unix.c:5069:1: enter_function: entry to ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: call_function: calling ‘unix_build_argv’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: return_function: returning to ‘mch_call_shell_fork’ from ‘unix_build_argv’
vim91/src/os_unix.c:5103:8: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5111:9: branch_false: ...to here
vim91/src/os_unix.c:5111:8: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5131:27: branch_true: ...to here
vim91/src/os_unix.c:5132:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5134:31: branch_true: ...to here
vim91/src/os_unix.c:5135:20: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5141:16: branch_false: ...to here
vim91/src/os_unix.c:5141:16: branch_false: following ‘false’ branch (when ‘pipe_error == 0’)...
vim91/src/os_unix.c:5152:9: branch_false: ...to here
vim91/src/os_unix.c:5154:12: branch_true: following ‘true’ branch (when ‘pid == -1’)...
vim91/src/os_unix.c:5156:13: call_function: inlined call to ‘unblock_signals’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5159:16: branch_false: following ‘false’ branch...
<unknown>: branch_false: ...to here
vim91/src/os_unix.c:5904:5: danger: ‘fd_fromshell[0]’ leaks here
# 5902|       resettitle();
# 5903|       vim_free(argv);
# 5904|->     vim_free(tofree1);
# 5905|       vim_free(tofree2);
# 5906|   

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/os_unix.c:5904:5: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘fd_fromshell[1]’
vim91/src/os_unix.c:5069:1: enter_function: entry to ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: call_function: calling ‘unix_build_argv’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: return_function: returning to ‘mch_call_shell_fork’ from ‘unix_build_argv’
vim91/src/os_unix.c:5103:8: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5111:9: branch_false: ...to here
vim91/src/os_unix.c:5111:8: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5131:27: branch_true: ...to here
vim91/src/os_unix.c:5132:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5134:31: branch_true: ...to here
vim91/src/os_unix.c:5135:20: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5141:16: branch_false: ...to here
vim91/src/os_unix.c:5141:16: branch_false: following ‘false’ branch (when ‘pipe_error == 0’)...
vim91/src/os_unix.c:5152:9: branch_false: ...to here
vim91/src/os_unix.c:5154:12: branch_true: following ‘true’ branch (when ‘pid == -1’)...
vim91/src/os_unix.c:5156:13: call_function: inlined call to ‘unblock_signals’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5159:16: branch_false: following ‘false’ branch...
<unknown>: branch_false: ...to here
vim91/src/os_unix.c:5904:5: danger: ‘fd_fromshell[1]’ leaks here
# 5902|       resettitle();
# 5903|       vim_free(argv);
# 5904|->     vim_free(tofree1);
# 5905|       vim_free(tofree2);
# 5906|   

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/os_unix.c:5904:5: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘fd_toshell[0]’
vim91/src/os_unix.c:5069:1: enter_function: entry to ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: call_function: calling ‘unix_build_argv’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: return_function: returning to ‘mch_call_shell_fork’ from ‘unix_build_argv’
vim91/src/os_unix.c:5103:8: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5111:9: branch_false: ...to here
vim91/src/os_unix.c:5111:8: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5131:27: branch_true: ...to here
vim91/src/os_unix.c:5132:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5134:31: branch_true: ...to here
vim91/src/os_unix.c:5135:20: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5141:16: branch_false: ...to here
vim91/src/os_unix.c:5141:16: branch_false: following ‘false’ branch (when ‘pipe_error == 0’)...
vim91/src/os_unix.c:5152:9: branch_false: ...to here
vim91/src/os_unix.c:5154:12: branch_true: following ‘true’ branch (when ‘pid == -1’)...
vim91/src/os_unix.c:5156:13: call_function: inlined call to ‘unblock_signals’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5159:16: branch_false: following ‘false’ branch...
<unknown>: branch_false: ...to here
vim91/src/os_unix.c:5904:5: danger: ‘fd_toshell[0]’ leaks here
# 5902|       resettitle();
# 5903|       vim_free(argv);
# 5904|->     vim_free(tofree1);
# 5905|       vim_free(tofree2);
# 5906|   

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/os_unix.c:5904:5: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘fd_toshell[1]’
vim91/src/os_unix.c:5069:1: enter_function: entry to ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: call_function: calling ‘unix_build_argv’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: return_function: returning to ‘mch_call_shell_fork’ from ‘unix_build_argv’
vim91/src/os_unix.c:5103:8: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5111:9: branch_false: ...to here
vim91/src/os_unix.c:5111:8: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5131:27: branch_true: ...to here
vim91/src/os_unix.c:5132:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5134:31: branch_true: ...to here
vim91/src/os_unix.c:5135:20: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5141:16: branch_false: ...to here
vim91/src/os_unix.c:5141:16: branch_false: following ‘false’ branch (when ‘pipe_error == 0’)...
vim91/src/os_unix.c:5152:9: branch_false: ...to here
vim91/src/os_unix.c:5154:12: branch_true: following ‘true’ branch (when ‘pid == -1’)...
vim91/src/os_unix.c:5156:13: call_function: inlined call to ‘unblock_signals’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5159:16: branch_false: following ‘false’ branch...
<unknown>: branch_false: ...to here
vim91/src/os_unix.c:5904:5: danger: ‘fd_toshell[1]’ leaks here
# 5902|       resettitle();
# 5903|       vim_free(argv);
# 5904|->     vim_free(tofree1);
# 5905|       vim_free(tofree2);
# 5906|   

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/os_unix.c:5905:5: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘fd_fromshell[0]’
vim91/src/os_unix.c:5069:1: enter_function: entry to ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: call_function: calling ‘unix_build_argv’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: return_function: returning to ‘mch_call_shell_fork’ from ‘unix_build_argv’
vim91/src/os_unix.c:5103:8: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5111:9: branch_false: ...to here
vim91/src/os_unix.c:5111:8: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5131:27: branch_true: ...to here
vim91/src/os_unix.c:5132:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5134:31: branch_true: ...to here
vim91/src/os_unix.c:5135:20: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5141:16: branch_false: ...to here
vim91/src/os_unix.c:5141:16: branch_false: following ‘false’ branch (when ‘pipe_error == 0’)...
vim91/src/os_unix.c:5152:9: branch_false: ...to here
vim91/src/os_unix.c:5154:12: branch_true: following ‘true’ branch (when ‘pid == -1’)...
vim91/src/os_unix.c:5156:13: call_function: inlined call to ‘unblock_signals’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5159:16: branch_false: following ‘false’ branch...
<unknown>: branch_false: ...to here
vim91/src/os_unix.c:5905:5: danger: ‘fd_fromshell[0]’ leaks here
# 5903|       vim_free(argv);
# 5904|       vim_free(tofree1);
# 5905|->     vim_free(tofree2);
# 5906|   
# 5907|       return retval;

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/os_unix.c:5905:5: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘fd_fromshell[1]’
vim91/src/os_unix.c:5069:1: enter_function: entry to ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: call_function: calling ‘unix_build_argv’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: return_function: returning to ‘mch_call_shell_fork’ from ‘unix_build_argv’
vim91/src/os_unix.c:5103:8: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5111:9: branch_false: ...to here
vim91/src/os_unix.c:5111:8: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5131:27: branch_true: ...to here
vim91/src/os_unix.c:5132:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5134:31: branch_true: ...to here
vim91/src/os_unix.c:5135:20: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5141:16: branch_false: ...to here
vim91/src/os_unix.c:5141:16: branch_false: following ‘false’ branch (when ‘pipe_error == 0’)...
vim91/src/os_unix.c:5152:9: branch_false: ...to here
vim91/src/os_unix.c:5154:12: branch_true: following ‘true’ branch (when ‘pid == -1’)...
vim91/src/os_unix.c:5156:13: call_function: inlined call to ‘unblock_signals’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5159:16: branch_false: following ‘false’ branch...
<unknown>: branch_false: ...to here
vim91/src/os_unix.c:5905:5: danger: ‘fd_fromshell[1]’ leaks here
# 5903|       vim_free(argv);
# 5904|       vim_free(tofree1);
# 5905|->     vim_free(tofree2);
# 5906|   
# 5907|       return retval;

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/os_unix.c:5905:5: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘fd_toshell[0]’
vim91/src/os_unix.c:5069:1: enter_function: entry to ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: call_function: calling ‘unix_build_argv’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: return_function: returning to ‘mch_call_shell_fork’ from ‘unix_build_argv’
vim91/src/os_unix.c:5103:8: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5111:9: branch_false: ...to here
vim91/src/os_unix.c:5111:8: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5131:27: branch_true: ...to here
vim91/src/os_unix.c:5132:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5134:31: branch_true: ...to here
vim91/src/os_unix.c:5135:20: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5141:16: branch_false: ...to here
vim91/src/os_unix.c:5141:16: branch_false: following ‘false’ branch (when ‘pipe_error == 0’)...
vim91/src/os_unix.c:5152:9: branch_false: ...to here
vim91/src/os_unix.c:5154:12: branch_true: following ‘true’ branch (when ‘pid == -1’)...
vim91/src/os_unix.c:5156:13: call_function: inlined call to ‘unblock_signals’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5159:16: branch_false: following ‘false’ branch...
<unknown>: branch_false: ...to here
vim91/src/os_unix.c:5905:5: danger: ‘fd_toshell[0]’ leaks here
# 5903|       vim_free(argv);
# 5904|       vim_free(tofree1);
# 5905|->     vim_free(tofree2);
# 5906|   
# 5907|       return retval;

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/os_unix.c:5905:5: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘fd_toshell[1]’
vim91/src/os_unix.c:5069:1: enter_function: entry to ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: call_function: calling ‘unix_build_argv’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: return_function: returning to ‘mch_call_shell_fork’ from ‘unix_build_argv’
vim91/src/os_unix.c:5103:8: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5111:9: branch_false: ...to here
vim91/src/os_unix.c:5111:8: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5131:27: branch_true: ...to here
vim91/src/os_unix.c:5132:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5134:31: branch_true: ...to here
vim91/src/os_unix.c:5135:20: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5141:16: branch_false: ...to here
vim91/src/os_unix.c:5141:16: branch_false: following ‘false’ branch (when ‘pipe_error == 0’)...
vim91/src/os_unix.c:5152:9: branch_false: ...to here
vim91/src/os_unix.c:5154:12: branch_true: following ‘true’ branch (when ‘pid == -1’)...
vim91/src/os_unix.c:5156:13: call_function: inlined call to ‘unblock_signals’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5159:16: branch_false: following ‘false’ branch...
<unknown>: branch_false: ...to here
vim91/src/os_unix.c:5905:5: danger: ‘fd_toshell[1]’ leaks here
# 5903|       vim_free(argv);
# 5904|       vim_free(tofree1);
# 5905|->     vim_free(tofree2);
# 5906|   
# 5907|       return retval;

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/os_unix.c:5907:12: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘fd_fromshell[0]’
vim91/src/os_unix.c:5069:1: enter_function: entry to ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: call_function: calling ‘unix_build_argv’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: return_function: returning to ‘mch_call_shell_fork’ from ‘unix_build_argv’
vim91/src/os_unix.c:5103:8: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5111:9: branch_false: ...to here
vim91/src/os_unix.c:5111:8: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5131:27: branch_true: ...to here
vim91/src/os_unix.c:5132:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5134:31: branch_true: ...to here
vim91/src/os_unix.c:5135:20: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5141:16: branch_false: ...to here
vim91/src/os_unix.c:5141:16: branch_false: following ‘false’ branch (when ‘pipe_error == 0’)...
vim91/src/os_unix.c:5152:9: branch_false: ...to here
vim91/src/os_unix.c:5154:12: branch_true: following ‘true’ branch (when ‘pid == -1’)...
vim91/src/os_unix.c:5156:13: call_function: inlined call to ‘unblock_signals’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5159:16: branch_false: following ‘false’ branch...
<unknown>: branch_false: ...to here
vim91/src/os_unix.c:5907:12: danger: ‘fd_fromshell[0]’ leaks here
# 5905|       vim_free(tofree2);
# 5906|   
# 5907|->     return retval;
# 5908|   }
# 5909|   #endif // USE_SYSTEM

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/os_unix.c:5907:12: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘fd_fromshell[1]’
vim91/src/os_unix.c:5069:1: enter_function: entry to ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: call_function: calling ‘unix_build_argv’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: return_function: returning to ‘mch_call_shell_fork’ from ‘unix_build_argv’
vim91/src/os_unix.c:5103:8: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5111:9: branch_false: ...to here
vim91/src/os_unix.c:5111:8: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5131:27: branch_true: ...to here
vim91/src/os_unix.c:5132:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5134:31: branch_true: ...to here
vim91/src/os_unix.c:5135:20: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5141:16: branch_false: ...to here
vim91/src/os_unix.c:5141:16: branch_false: following ‘false’ branch (when ‘pipe_error == 0’)...
vim91/src/os_unix.c:5152:9: branch_false: ...to here
vim91/src/os_unix.c:5154:12: branch_true: following ‘true’ branch (when ‘pid == -1’)...
vim91/src/os_unix.c:5156:13: call_function: inlined call to ‘unblock_signals’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5159:16: branch_false: following ‘false’ branch...
<unknown>: branch_false: ...to here
vim91/src/os_unix.c:5907:12: danger: ‘fd_fromshell[1]’ leaks here
# 5905|       vim_free(tofree2);
# 5906|   
# 5907|->     return retval;
# 5908|   }
# 5909|   #endif // USE_SYSTEM

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/os_unix.c:5907:12: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘fd_toshell[0]’
vim91/src/os_unix.c:5069:1: enter_function: entry to ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: call_function: calling ‘unix_build_argv’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: return_function: returning to ‘mch_call_shell_fork’ from ‘unix_build_argv’
vim91/src/os_unix.c:5103:8: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5111:9: branch_false: ...to here
vim91/src/os_unix.c:5111:8: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5131:27: branch_true: ...to here
vim91/src/os_unix.c:5132:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5134:31: branch_true: ...to here
vim91/src/os_unix.c:5135:20: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5141:16: branch_false: ...to here
vim91/src/os_unix.c:5141:16: branch_false: following ‘false’ branch (when ‘pipe_error == 0’)...
vim91/src/os_unix.c:5152:9: branch_false: ...to here
vim91/src/os_unix.c:5154:12: branch_true: following ‘true’ branch (when ‘pid == -1’)...
vim91/src/os_unix.c:5156:13: call_function: inlined call to ‘unblock_signals’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5159:16: branch_false: following ‘false’ branch...
<unknown>: branch_false: ...to here
vim91/src/os_unix.c:5907:12: danger: ‘fd_toshell[0]’ leaks here
# 5905|       vim_free(tofree2);
# 5906|   
# 5907|->     return retval;
# 5908|   }
# 5909|   #endif // USE_SYSTEM

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/os_unix.c:5907:12: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘fd_toshell[1]’
vim91/src/os_unix.c:5069:1: enter_function: entry to ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: call_function: calling ‘unix_build_argv’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: return_function: returning to ‘mch_call_shell_fork’ from ‘unix_build_argv’
vim91/src/os_unix.c:5103:8: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5111:9: branch_false: ...to here
vim91/src/os_unix.c:5111:8: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5131:27: branch_true: ...to here
vim91/src/os_unix.c:5132:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5134:31: branch_true: ...to here
vim91/src/os_unix.c:5135:20: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5141:16: branch_false: ...to here
vim91/src/os_unix.c:5141:16: branch_false: following ‘false’ branch (when ‘pipe_error == 0’)...
vim91/src/os_unix.c:5152:9: branch_false: ...to here
vim91/src/os_unix.c:5154:12: branch_true: following ‘true’ branch (when ‘pid == -1’)...
vim91/src/os_unix.c:5156:13: call_function: inlined call to ‘unblock_signals’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5159:16: branch_false: following ‘false’ branch...
<unknown>: branch_false: ...to here
vim91/src/os_unix.c:5907:12: danger: ‘fd_toshell[1]’ leaks here
# 5905|       vim_free(tofree2);
# 5906|   
# 5907|->     return retval;
# 5908|   }
# 5909|   #endif // USE_SYSTEM

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/os_unix.c:6925:15: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘fromshell_fd’
vim91/src/os_unix.c:5069:1: enter_function: entry to ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: call_function: calling ‘unix_build_argv’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: return_function: returning to ‘mch_call_shell_fork’ from ‘unix_build_argv’
vim91/src/os_unix.c:5103:8: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5111:9: branch_false: ...to here
vim91/src/os_unix.c:5111:8: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5131:27: branch_true: ...to here
vim91/src/os_unix.c:5132:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5134:31: branch_true: ...to here
vim91/src/os_unix.c:5135:20: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5141:16: branch_false: ...to here
vim91/src/os_unix.c:5141:16: branch_false: following ‘false’ branch (when ‘pipe_error == 0’)...
vim91/src/os_unix.c:5152:9: branch_false: ...to here
vim91/src/os_unix.c:5154:12: branch_false: following ‘false’ branch (when ‘pid != -1’)...
vim91/src/os_unix.c:5181:17: branch_false: ...to here
vim91/src/os_unix.c:5181:17: branch_false: following ‘false’ branch (when ‘pid != 0’)...
vim91/src/os_unix.c:5333:13: branch_false: ...to here
vim91/src/os_unix.c:5344:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5376:21: branch_true: ...to here
vim91/src/os_unix.c:5403:20: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5403:21: branch_true: ...to here
vim91/src/os_unix.c:5611:28: call_function: calling ‘RealWaitForChar’ from ‘mch_call_shell_fork’
# 6923|   	    *interrupted = FALSE;
# 6924|   
# 6925|-> 	ret = select(maxfd + 1, SELECT_TYPE_ARG234 &rfds,
# 6926|   		      SELECT_TYPE_ARG234 &wfds, SELECT_TYPE_ARG234 &efds, tvp);
# 6927|   	result = ret > 0 && FD_ISSET(fd, &rfds);

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/os_unix.c:6925:15: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘toshell_fd’
vim91/src/os_unix.c:5069:1: enter_function: entry to ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: call_function: calling ‘unix_build_argv’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: return_function: returning to ‘mch_call_shell_fork’ from ‘unix_build_argv’
vim91/src/os_unix.c:5103:8: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5111:9: branch_false: ...to here
vim91/src/os_unix.c:5111:8: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5131:27: branch_true: ...to here
vim91/src/os_unix.c:5132:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5134:31: branch_true: ...to here
vim91/src/os_unix.c:5135:20: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5141:16: branch_false: ...to here
vim91/src/os_unix.c:5141:16: branch_false: following ‘false’ branch (when ‘pipe_error == 0’)...
vim91/src/os_unix.c:5152:9: branch_false: ...to here
vim91/src/os_unix.c:5154:12: branch_false: following ‘false’ branch (when ‘pid != -1’)...
vim91/src/os_unix.c:5181:17: branch_false: ...to here
vim91/src/os_unix.c:5181:17: branch_false: following ‘false’ branch (when ‘pid != 0’)...
vim91/src/os_unix.c:5333:13: branch_false: ...to here
vim91/src/os_unix.c:5344:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5376:21: branch_true: ...to here
vim91/src/os_unix.c:5403:20: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5403:21: branch_true: ...to here
vim91/src/os_unix.c:5611:28: call_function: calling ‘RealWaitForChar’ from ‘mch_call_shell_fork’
# 6923|   	    *interrupted = FALSE;
# 6924|   
# 6925|-> 	ret = select(maxfd + 1, SELECT_TYPE_ARG234 &rfds,
# 6926|   		      SELECT_TYPE_ARG234 &wfds, SELECT_TYPE_ARG234 &efds, tvp);
# 6927|   	result = ret > 0 && FD_ISSET(fd, &rfds);

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/os_unix.c:6942:17: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘fromshell_fd’
vim91/src/os_unix.c:5069:1: enter_function: entry to ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: call_function: calling ‘unix_build_argv’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: return_function: returning to ‘mch_call_shell_fork’ from ‘unix_build_argv’
vim91/src/os_unix.c:5103:8: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5111:9: branch_false: ...to here
vim91/src/os_unix.c:5111:8: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5131:27: branch_true: ...to here
vim91/src/os_unix.c:5132:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5134:31: branch_true: ...to here
vim91/src/os_unix.c:5135:20: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5141:16: branch_false: ...to here
vim91/src/os_unix.c:5141:16: branch_false: following ‘false’ branch (when ‘pipe_error == 0’)...
vim91/src/os_unix.c:5152:9: branch_false: ...to here
vim91/src/os_unix.c:5154:12: branch_false: following ‘false’ branch (when ‘pid != -1’)...
vim91/src/os_unix.c:5181:17: branch_false: ...to here
vim91/src/os_unix.c:5181:17: branch_false: following ‘false’ branch (when ‘pid != 0’)...
vim91/src/os_unix.c:5333:13: branch_false: ...to here
vim91/src/os_unix.c:5344:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5376:21: branch_true: ...to here
vim91/src/os_unix.c:5403:20: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5403:21: branch_true: ...to here
vim91/src/os_unix.c:5611:28: call_function: calling ‘RealWaitForChar’ from ‘mch_call_shell_fork’
# 6940|   
# 6941|   		ea.forceit = TRUE;
# 6942|-> 		ex_stop(&ea);
# 6943|   		got_tstp = FALSE;
# 6944|   	    }

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/os_unix.c:6942:17: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘toshell_fd’
vim91/src/os_unix.c:5069:1: enter_function: entry to ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: call_function: calling ‘unix_build_argv’ from ‘mch_call_shell_fork’
vim91/src/os_unix.c:5103:9: return_function: returning to ‘mch_call_shell_fork’ from ‘unix_build_argv’
vim91/src/os_unix.c:5103:8: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5111:9: branch_false: ...to here
vim91/src/os_unix.c:5111:8: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5131:27: branch_true: ...to here
vim91/src/os_unix.c:5132:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5134:31: branch_true: ...to here
vim91/src/os_unix.c:5135:20: branch_false: following ‘false’ branch...
vim91/src/os_unix.c:5141:16: branch_false: ...to here
vim91/src/os_unix.c:5141:16: branch_false: following ‘false’ branch (when ‘pipe_error == 0’)...
vim91/src/os_unix.c:5152:9: branch_false: ...to here
vim91/src/os_unix.c:5154:12: branch_false: following ‘false’ branch (when ‘pid != -1’)...
vim91/src/os_unix.c:5181:17: branch_false: ...to here
vim91/src/os_unix.c:5181:17: branch_false: following ‘false’ branch (when ‘pid != 0’)...
vim91/src/os_unix.c:5333:13: branch_false: ...to here
vim91/src/os_unix.c:5344:16: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5376:21: branch_true: ...to here
vim91/src/os_unix.c:5403:20: branch_true: following ‘true’ branch...
vim91/src/os_unix.c:5403:21: branch_true: ...to here
vim91/src/os_unix.c:5611:28: call_function: calling ‘RealWaitForChar’ from ‘mch_call_shell_fork’
# 6940|   
# 6941|   		ea.forceit = TRUE;
# 6942|-> 		ex_stop(&ea);
# 6943|   		got_tstp = FALSE;
# 6944|   	    }

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

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

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

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/profiler.c:818:15: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(profile_fname, "w")’
vim91/src/profiler.c:1005:1: enter_function: entry to ‘profile_dump’
vim91/src/profiler.c:1009:8: branch_false: following ‘false’ branch...
vim91/src/profiler.c:1012:10: branch_false: ...to here
vim91/src/profiler.c:1012:10: acquire_resource: opened here
vim91/src/profiler.c:1013:8: branch_false: following ‘false’ branch...
vim91/src/profiler.c:1017:9: branch_false: ...to here
vim91/src/profiler.c:1018:9: call_function: calling ‘func_dump_profile’ from ‘profile_dump’
#  816|       char_u	*p;
#  817|   
#  818|->     functbl = func_tbl_get();
#  819|       todo = (int)functbl->ht_used;
#  820|       if (todo == 0)

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/profiler.c:818:15: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(profile_fname, "w")’
vim91/src/profiler.c:1005:1: enter_function: entry to ‘profile_dump’
vim91/src/profiler.c:1009:8: branch_false: following ‘false’ branch...
vim91/src/profiler.c:1012:10: branch_false: ...to here
vim91/src/profiler.c:1012:10: acquire_memory: allocated here
vim91/src/profiler.c:1013:8: branch_false: following ‘false’ branch...
vim91/src/profiler.c:1017:9: branch_false: ...to here
vim91/src/profiler.c:1018:9: call_function: calling ‘func_dump_profile’ from ‘profile_dump’
#  816|       char_u	*p;
#  817|   
#  818|->     functbl = func_tbl_get();
#  819|       todo = (int)functbl->ht_used;
#  820|       if (todo == 0)

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/profiler.c:823:15: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(profile_fname, "w")’
vim91/src/profiler.c:1005:1: enter_function: entry to ‘profile_dump’
vim91/src/profiler.c:1009:8: branch_false: following ‘false’ branch...
vim91/src/profiler.c:1012:10: branch_false: ...to here
vim91/src/profiler.c:1012:10: acquire_resource: opened here
vim91/src/profiler.c:1013:8: branch_false: following ‘false’ branch...
vim91/src/profiler.c:1017:9: branch_false: ...to here
vim91/src/profiler.c:1018:9: call_function: calling ‘func_dump_profile’ from ‘profile_dump’
#  821|   	return;     // nothing to dump
#  822|   
#  823|->     sorttab = ALLOC_MULT(ufunc_T *, todo);
#  824|   
#  825|       FOR_ALL_HASHTAB_ITEMS(functbl, hi, todo)

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/profiler.c:823:15: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(profile_fname, "w")’
vim91/src/profiler.c:1005:1: enter_function: entry to ‘profile_dump’
vim91/src/profiler.c:1009:8: branch_false: following ‘false’ branch...
vim91/src/profiler.c:1012:10: branch_false: ...to here
vim91/src/profiler.c:1012:10: acquire_memory: allocated here
vim91/src/profiler.c:1013:8: branch_false: following ‘false’ branch...
vim91/src/profiler.c:1017:9: branch_false: ...to here
vim91/src/profiler.c:1018:9: call_function: calling ‘func_dump_profile’ from ‘profile_dump’
#  821|   	return;     // nothing to dump
#  822|   
#  823|->     sorttab = ALLOC_MULT(ufunc_T *, todo);
#  824|   
#  825|       FOR_ALL_HASHTAB_ITEMS(functbl, hi, todo)

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/profiler.c:842:25: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(profile_fname, "w")’
vim91/src/profiler.c:1005:1: enter_function: entry to ‘profile_dump’
vim91/src/profiler.c:1009:8: branch_false: following ‘false’ branch...
vim91/src/profiler.c:1012:10: branch_false: ...to here
vim91/src/profiler.c:1012:10: acquire_resource: opened here
vim91/src/profiler.c:1013:8: branch_false: following ‘false’ branch...
vim91/src/profiler.c:1017:9: branch_false: ...to here
vim91/src/profiler.c:1018:9: call_function: calling ‘func_dump_profile’ from ‘profile_dump’
#  840|   		if (fp->uf_script_ctx.sc_sid > 0)
#  841|   		{
#  842|-> 		    p = home_replace_save(NULL,
#  843|   				     get_scriptname(fp->uf_script_ctx.sc_sid));
#  844|   		    if (p != NULL)

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/profiler.c:842:25: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(profile_fname, "w")’
vim91/src/profiler.c:1005:1: enter_function: entry to ‘profile_dump’
vim91/src/profiler.c:1009:8: branch_false: following ‘false’ branch...
vim91/src/profiler.c:1012:10: branch_false: ...to here
vim91/src/profiler.c:1012:10: acquire_memory: allocated here
vim91/src/profiler.c:1013:8: branch_false: following ‘false’ branch...
vim91/src/profiler.c:1017:9: branch_false: ...to here
vim91/src/profiler.c:1018:9: call_function: calling ‘func_dump_profile’ from ‘profile_dump’
#  840|   		if (fp->uf_script_ctx.sc_sid > 0)
#  841|   		{
#  842|-> 		    p = home_replace_save(NULL,
#  843|   				     get_scriptname(fp->uf_script_ctx.sc_sid));
#  844|   		    if (p != NULL)

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/profiler.c:848:25: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(profile_fname, "w")’
vim91/src/profiler.c:1005:1: enter_function: entry to ‘profile_dump’
vim91/src/profiler.c:1009:8: branch_false: following ‘false’ branch...
vim91/src/profiler.c:1012:10: branch_false: ...to here
vim91/src/profiler.c:1012:10: acquire_resource: opened here
vim91/src/profiler.c:1013:8: branch_false: following ‘false’ branch...
vim91/src/profiler.c:1017:9: branch_false: ...to here
vim91/src/profiler.c:1018:9: call_function: calling ‘func_dump_profile’ from ‘profile_dump’
#  846|   			fprintf(fd, "    Defined: %s:%ld\n",
#  847|   					   p, (long)fp->uf_script_ctx.sc_lnum);
#  848|-> 			vim_free(p);
#  849|   		    }
#  850|   		}

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/profiler.c:848:25: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(profile_fname, "w")’
vim91/src/profiler.c:1005:1: enter_function: entry to ‘profile_dump’
vim91/src/profiler.c:1009:8: branch_false: following ‘false’ branch...
vim91/src/profiler.c:1012:10: branch_false: ...to here
vim91/src/profiler.c:1012:10: acquire_memory: allocated here
vim91/src/profiler.c:1013:8: branch_false: following ‘false’ branch...
vim91/src/profiler.c:1017:9: branch_false: ...to here
vim91/src/profiler.c:1018:9: call_function: calling ‘func_dump_profile’ from ‘profile_dump’
#  846|   			fprintf(fd, "    Defined: %s:%ld\n",
#  847|   					   p, (long)fp->uf_script_ctx.sc_lnum);
#  848|-> 			vim_free(p);
#  849|   		    }
#  850|   		}

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/profiler.c:959:25: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(*si.sn_name, "r")’
vim91/src/profiler.c:935:18: branch_true: following ‘true’ branch...
vim91/src/profiler.c:937:14: branch_true: ...to here
vim91/src/profiler.c:938:12: branch_true: following ‘true’ branch...
vim91/src/profiler.c:940:13: branch_true: ...to here
vim91/src/profiler.c:950:19: acquire_resource: opened here
vim91/src/profiler.c:951:16: branch_false: following ‘false’ branch...
<unknown>: branch_false: ...to here
vim91/src/profiler.c:959:25: danger: ‘fopen(*si.sn_name, "r")’ leaks here; was opened at [(5)](sarif:/runs/0/results/11/codeFlows/0/threadFlows/0/locations/4)
#  957|   		for (i = 0; ; ++i)
#  958|   		{
#  959|-> 		    if (vim_fgets(IObuff, IOSIZE, sfd))
#  960|   			break;
#  961|   		    // When a line has been truncated, append NL, taking care

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/profiler.c:959:25: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(profile_fname, "w")’
vim91/src/profiler.c:1005:1: enter_function: entry to ‘profile_dump’
vim91/src/profiler.c:1009:8: branch_false: following ‘false’ branch...
vim91/src/profiler.c:1012:10: branch_false: ...to here
vim91/src/profiler.c:1012:10: acquire_resource: opened here
vim91/src/profiler.c:1013:8: branch_false: following ‘false’ branch...
vim91/src/profiler.c:1017:9: branch_false: ...to here
vim91/src/profiler.c:1017:9: call_function: calling ‘script_dump_profile’ from ‘profile_dump’
#  957|   		for (i = 0; ; ++i)
#  958|   		{
#  959|-> 		    if (vim_fgets(IObuff, IOSIZE, sfd))
#  960|   			break;
#  961|   		    // When a line has been truncated, append NL, taking care

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/profiler.c:959:25: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(*si.sn_name, "r")’
vim91/src/profiler.c:935:18: branch_true: following ‘true’ branch...
vim91/src/profiler.c:937:14: branch_true: ...to here
vim91/src/profiler.c:938:12: branch_true: following ‘true’ branch...
vim91/src/profiler.c:940:13: branch_true: ...to here
vim91/src/profiler.c:950:19: acquire_memory: allocated here
vim91/src/profiler.c:951:16: branch_false: following ‘false’ branch...
<unknown>: branch_false: ...to here
vim91/src/profiler.c:959:25: danger: ‘fopen(*si.sn_name, "r")’ leaks here; was allocated at [(5)](sarif:/runs/0/results/12/codeFlows/0/threadFlows/0/locations/4)
#  957|   		for (i = 0; ; ++i)
#  958|   		{
#  959|-> 		    if (vim_fgets(IObuff, IOSIZE, sfd))
#  960|   			break;
#  961|   		    // When a line has been truncated, append NL, taking care

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/profiler.c:959:25: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(profile_fname, "w")’
vim91/src/profiler.c:1005:1: enter_function: entry to ‘profile_dump’
vim91/src/profiler.c:1009:8: branch_false: following ‘false’ branch...
vim91/src/profiler.c:1012:10: branch_false: ...to here
vim91/src/profiler.c:1012:10: acquire_memory: allocated here
vim91/src/profiler.c:1013:8: branch_false: following ‘false’ branch...
vim91/src/profiler.c:1017:9: branch_false: ...to here
vim91/src/profiler.c:1017:9: call_function: calling ‘script_dump_profile’ from ‘profile_dump’
#  957|   		for (i = 0; ; ++i)
#  958|   		{
#  959|-> 		    if (vim_fgets(IObuff, IOSIZE, sfd))
#  960|   			break;
#  961|   		    // When a line has been truncated, append NL, taking care

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/profiler.c:976:34: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(profile_fname, "w")’
vim91/src/profiler.c:1005:1: enter_function: entry to ‘profile_dump’
vim91/src/profiler.c:1009:8: branch_false: following ‘false’ branch...
vim91/src/profiler.c:1012:10: branch_false: ...to here
vim91/src/profiler.c:1012:10: acquire_resource: opened here
vim91/src/profiler.c:1013:8: branch_false: following ‘false’ branch...
vim91/src/profiler.c:1017:9: branch_false: ...to here
vim91/src/profiler.c:1017:9: call_function: calling ‘script_dump_profile’ from ‘profile_dump’
#  974|   			}
#  975|   			else if (has_mbyte)
#  976|-> 			    n -= mb_head_off(IObuff, IObuff + n);
#  977|   			IObuff[n] = NL;
#  978|   			IObuff[n + 1] = NUL;

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/profiler.c:976:34: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(profile_fname, "w")’
vim91/src/profiler.c:1005:1: enter_function: entry to ‘profile_dump’
vim91/src/profiler.c:1009:8: branch_false: following ‘false’ branch...
vim91/src/profiler.c:1012:10: branch_false: ...to here
vim91/src/profiler.c:1012:10: acquire_memory: allocated here
vim91/src/profiler.c:1013:8: branch_false: following ‘false’ branch...
vim91/src/profiler.c:1017:9: branch_false: ...to here
vim91/src/profiler.c:1017:9: call_function: calling ‘script_dump_profile’ from ‘profile_dump’
#  974|   			}
#  975|   			else if (has_mbyte)
#  976|-> 			    n -= mb_head_off(IObuff, IObuff + n);
#  977|   			IObuff[n] = NL;
#  978|   			IObuff[n + 1] = NUL;

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

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

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

Error: CPPCHECK_WARNING (CWE-909):
vim91/src/regexp.c:2109: error[uninitStructMember]: Uninitialized struct member: rex_save.input
# 2107|       rex_in_use = rex_in_use_save;
# 2108|       if (rex_in_use)
# 2109|-> 	rex = rex_save;
# 2110|   
# 2111|       return result;

Error: CPPCHECK_WARNING (CWE-909):
vim91/src/regexp.c:2109: error[uninitStructMember]: Uninitialized struct member: rex_save.line
# 2107|       rex_in_use = rex_in_use_save;
# 2108|       if (rex_in_use)
# 2109|-> 	rex = rex_save;
# 2110|   
# 2111|       return result;

Error: CPPCHECK_WARNING (CWE-909):
vim91/src/regexp.c:2109: error[uninitStructMember]: Uninitialized struct member: rex_save.lnum
# 2107|       rex_in_use = rex_in_use_save;
# 2108|       if (rex_in_use)
# 2109|-> 	rex = rex_save;
# 2110|   
# 2111|       return result;

Error: CPPCHECK_WARNING (CWE-909):
vim91/src/regexp.c:2109: error[uninitStructMember]: Uninitialized struct member: rex_save.need_clear_subexpr
# 2107|       rex_in_use = rex_in_use_save;
# 2108|       if (rex_in_use)
# 2109|-> 	rex = rex_save;
# 2110|   
# 2111|       return result;

Error: CPPCHECK_WARNING (CWE-909):
vim91/src/regexp.c:2109: error[uninitStructMember]: Uninitialized struct member: rex_save.need_clear_zsubexpr
# 2107|       rex_in_use = rex_in_use_save;
# 2108|       if (rex_in_use)
# 2109|-> 	rex = rex_save;
# 2110|   
# 2111|       return result;

Error: CPPCHECK_WARNING (CWE-909):
vim91/src/regexp.c:2109: error[uninitStructMember]: Uninitialized struct member: rex_save.nfa_alt_listid
# 2107|       rex_in_use = rex_in_use_save;
# 2108|       if (rex_in_use)
# 2109|-> 	rex = rex_save;
# 2110|   
# 2111|       return result;

Error: CPPCHECK_WARNING (CWE-909):
vim91/src/regexp.c:2109: error[uninitStructMember]: Uninitialized struct member: rex_save.nfa_has_backref
# 2107|       rex_in_use = rex_in_use_save;
# 2108|       if (rex_in_use)
# 2109|-> 	rex = rex_save;
# 2110|   
# 2111|       return result;

Error: CPPCHECK_WARNING (CWE-909):
vim91/src/regexp.c:2109: error[uninitStructMember]: Uninitialized struct member: rex_save.nfa_has_zend
# 2107|       rex_in_use = rex_in_use_save;
# 2108|       if (rex_in_use)
# 2109|-> 	rex = rex_save;
# 2110|   
# 2111|       return result;

Error: CPPCHECK_WARNING (CWE-909):
vim91/src/regexp.c:2109: error[uninitStructMember]: Uninitialized struct member: rex_save.nfa_has_zsubexpr
# 2107|       rex_in_use = rex_in_use_save;
# 2108|       if (rex_in_use)
# 2109|-> 	rex = rex_save;
# 2110|   
# 2111|       return result;

Error: CPPCHECK_WARNING (CWE-909):
vim91/src/regexp.c:2109: error[uninitStructMember]: Uninitialized struct member: rex_save.nfa_listid
# 2107|       rex_in_use = rex_in_use_save;
# 2108|       if (rex_in_use)
# 2109|-> 	rex = rex_save;
# 2110|   
# 2111|       return result;

Error: CPPCHECK_WARNING (CWE-909):
vim91/src/regexp.c:2109: error[uninitStructMember]: Uninitialized struct member: rex_save.nfa_nsubexpr
# 2107|       rex_in_use = rex_in_use_save;
# 2108|       if (rex_in_use)
# 2109|-> 	rex = rex_save;
# 2110|   
# 2111|       return result;

Error: CPPCHECK_WARNING (CWE-909):
vim91/src/regexp.c:2109: error[uninitStructMember]: Uninitialized struct member: rex_save.reg_buf
# 2107|       rex_in_use = rex_in_use_save;
# 2108|       if (rex_in_use)
# 2109|-> 	rex = rex_save;
# 2110|   
# 2111|       return result;

Error: CPPCHECK_WARNING (CWE-909):
vim91/src/regexp.c:2109: error[uninitStructMember]: Uninitialized struct member: rex_save.reg_endp
# 2107|       rex_in_use = rex_in_use_save;
# 2108|       if (rex_in_use)
# 2109|-> 	rex = rex_save;
# 2110|   
# 2111|       return result;

Error: CPPCHECK_WARNING (CWE-909):
vim91/src/regexp.c:2109: error[uninitStructMember]: Uninitialized struct member: rex_save.reg_endpos
# 2107|       rex_in_use = rex_in_use_save;
# 2108|       if (rex_in_use)
# 2109|-> 	rex = rex_save;
# 2110|   
# 2111|       return result;

Error: CPPCHECK_WARNING (CWE-909):
vim91/src/regexp.c:2109: error[uninitStructMember]: Uninitialized struct member: rex_save.reg_firstlnum
# 2107|       rex_in_use = rex_in_use_save;
# 2108|       if (rex_in_use)
# 2109|-> 	rex = rex_save;
# 2110|   
# 2111|       return result;

Error: CPPCHECK_WARNING (CWE-909):
vim91/src/regexp.c:2109: error[uninitStructMember]: Uninitialized struct member: rex_save.reg_ic
# 2107|       rex_in_use = rex_in_use_save;
# 2108|       if (rex_in_use)
# 2109|-> 	rex = rex_save;
# 2110|   
# 2111|       return result;

Error: CPPCHECK_WARNING (CWE-909):
vim91/src/regexp.c:2109: error[uninitStructMember]: Uninitialized struct member: rex_save.reg_icombine
# 2107|       rex_in_use = rex_in_use_save;
# 2108|       if (rex_in_use)
# 2109|-> 	rex = rex_save;
# 2110|   
# 2111|       return result;

Error: CPPCHECK_WARNING (CWE-909):
vim91/src/regexp.c:2109: error[uninitStructMember]: Uninitialized struct member: rex_save.reg_line_lbr
# 2107|       rex_in_use = rex_in_use_save;
# 2108|       if (rex_in_use)
# 2109|-> 	rex = rex_save;
# 2110|   
# 2111|       return result;

Error: CPPCHECK_WARNING (CWE-909):
vim91/src/regexp.c:2109: error[uninitStructMember]: Uninitialized struct member: rex_save.reg_match
# 2107|       rex_in_use = rex_in_use_save;
# 2108|       if (rex_in_use)
# 2109|-> 	rex = rex_save;
# 2110|   
# 2111|       return result;

Error: CPPCHECK_WARNING (CWE-909):
vim91/src/regexp.c:2109: error[uninitStructMember]: Uninitialized struct member: rex_save.reg_maxcol
# 2107|       rex_in_use = rex_in_use_save;
# 2108|       if (rex_in_use)
# 2109|-> 	rex = rex_save;
# 2110|   
# 2111|       return result;

Error: CPPCHECK_WARNING (CWE-909):
vim91/src/regexp.c:2109: error[uninitStructMember]: Uninitialized struct member: rex_save.reg_maxline
# 2107|       rex_in_use = rex_in_use_save;
# 2108|       if (rex_in_use)
# 2109|-> 	rex = rex_save;
# 2110|   
# 2111|       return result;

Error: CPPCHECK_WARNING (CWE-909):
vim91/src/regexp.c:2109: error[uninitStructMember]: Uninitialized struct member: rex_save.reg_mmatch
# 2107|       rex_in_use = rex_in_use_save;
# 2108|       if (rex_in_use)
# 2109|-> 	rex = rex_save;
# 2110|   
# 2111|       return result;

Error: CPPCHECK_WARNING (CWE-909):
vim91/src/regexp.c:2109: error[uninitStructMember]: Uninitialized struct member: rex_save.reg_startp
# 2107|       rex_in_use = rex_in_use_save;
# 2108|       if (rex_in_use)
# 2109|-> 	rex = rex_save;
# 2110|   
# 2111|       return result;

Error: CPPCHECK_WARNING (CWE-909):
vim91/src/regexp.c:2109: error[uninitStructMember]: Uninitialized struct member: rex_save.reg_startpos
# 2107|       rex_in_use = rex_in_use_save;
# 2108|       if (rex_in_use)
# 2109|-> 	rex = rex_save;
# 2110|   
# 2111|       return result;

Error: CPPCHECK_WARNING (CWE-909):
vim91/src/regexp.c:2109: error[uninitStructMember]: Uninitialized struct member: rex_save.reg_win
# 2107|       rex_in_use = rex_in_use_save;
# 2108|       if (rex_in_use)
# 2109|-> 	rex = rex_save;
# 2110|   
# 2111|       return result;

Error: CPPCHECK_WARNING (CWE-909):
vim91/src/regexp.c:2142: error[uninitStructMember]: Uninitialized struct member: rex_save.input
# 2140|       rex_in_use = rex_in_use_save;
# 2141|       if (rex_in_use)
# 2142|-> 	rex = rex_save;
# 2143|   
# 2144|       return result;

Error: CPPCHECK_WARNING (CWE-909):
vim91/src/regexp.c:2142: error[uninitStructMember]: Uninitialized struct member: rex_save.line
# 2140|       rex_in_use = rex_in_use_save;
# 2141|       if (rex_in_use)
# 2142|-> 	rex = rex_save;
# 2143|   
# 2144|       return result;

Error: CPPCHECK_WARNING (CWE-909):
vim91/src/regexp.c:2142: error[uninitStructMember]: Uninitialized struct member: rex_save.lnum
# 2140|       rex_in_use = rex_in_use_save;
# 2141|       if (rex_in_use)
# 2142|-> 	rex = rex_save;
# 2143|   
# 2144|       return result;

Error: CPPCHECK_WARNING (CWE-909):
vim91/src/regexp.c:2142: error[uninitStructMember]: Uninitialized struct member: rex_save.need_clear_subexpr
# 2140|       rex_in_use = rex_in_use_save;
# 2141|       if (rex_in_use)
# 2142|-> 	rex = rex_save;
# 2143|   
# 2144|       return result;

Error: CPPCHECK_WARNING (CWE-909):
vim91/src/regexp.c:2142: error[uninitStructMember]: Uninitialized struct member: rex_save.need_clear_zsubexpr
# 2140|       rex_in_use = rex_in_use_save;
# 2141|       if (rex_in_use)
# 2142|-> 	rex = rex_save;
# 2143|   
# 2144|       return result;

Error: CPPCHECK_WARNING (CWE-909):
vim91/src/regexp.c:2142: error[uninitStructMember]: Uninitialized struct member: rex_save.nfa_alt_listid
# 2140|       rex_in_use = rex_in_use_save;
# 2141|       if (rex_in_use)
# 2142|-> 	rex = rex_save;
# 2143|   
# 2144|       return result;

Error: CPPCHECK_WARNING (CWE-909):
vim91/src/regexp.c:2142: error[uninitStructMember]: Uninitialized struct member: rex_save.nfa_has_backref
# 2140|       rex_in_use = rex_in_use_save;
# 2141|       if (rex_in_use)
# 2142|-> 	rex = rex_save;
# 2143|   
# 2144|       return result;

Error: CPPCHECK_WARNING (CWE-909):
vim91/src/regexp.c:2142: error[uninitStructMember]: Uninitialized struct member: rex_save.nfa_has_zend
# 2140|       rex_in_use = rex_in_use_save;
# 2141|       if (rex_in_use)
# 2142|-> 	rex = rex_save;
# 2143|   
# 2144|       return result;

Error: CPPCHECK_WARNING (CWE-909):
vim91/src/regexp.c:2142: error[uninitStructMember]: Uninitialized struct member: rex_save.nfa_has_zsubexpr
# 2140|       rex_in_use = rex_in_use_save;
# 2141|       if (rex_in_use)
# 2142|-> 	rex = rex_save;
# 2143|   
# 2144|       return result;

Error: CPPCHECK_WARNING (CWE-909):
vim91/src/regexp.c:2142: error[uninitStructMember]: Uninitialized struct member: rex_save.nfa_listid
# 2140|       rex_in_use = rex_in_use_save;
# 2141|       if (rex_in_use)
# 2142|-> 	rex = rex_save;
# 2143|   
# 2144|       return result;

Error: CPPCHECK_WARNING (CWE-909):
vim91/src/regexp.c:2142: error[uninitStructMember]: Uninitialized struct member: rex_save.nfa_nsubexpr
# 2140|       rex_in_use = rex_in_use_save;
# 2141|       if (rex_in_use)
# 2142|-> 	rex = rex_save;
# 2143|   
# 2144|       return result;

Error: CPPCHECK_WARNING (CWE-909):
vim91/src/regexp.c:2142: error[uninitStructMember]: Uninitialized struct member: rex_save.reg_buf
# 2140|       rex_in_use = rex_in_use_save;
# 2141|       if (rex_in_use)
# 2142|-> 	rex = rex_save;
# 2143|   
# 2144|       return result;

Error: CPPCHECK_WARNING (CWE-909):
vim91/src/regexp.c:2142: error[uninitStructMember]: Uninitialized struct member: rex_save.reg_endp
# 2140|       rex_in_use = rex_in_use_save;
# 2141|       if (rex_in_use)
# 2142|-> 	rex = rex_save;
# 2143|   
# 2144|       return result;

Error: CPPCHECK_WARNING (CWE-909):
vim91/src/regexp.c:2142: error[uninitStructMember]: Uninitialized struct member: rex_save.reg_endpos
# 2140|       rex_in_use = rex_in_use_save;
# 2141|       if (rex_in_use)
# 2142|-> 	rex = rex_save;
# 2143|   
# 2144|       return result;

Error: CPPCHECK_WARNING (CWE-909):
vim91/src/regexp.c:2142: error[uninitStructMember]: Uninitialized struct member: rex_save.reg_firstlnum
# 2140|       rex_in_use = rex_in_use_save;
# 2141|       if (rex_in_use)
# 2142|-> 	rex = rex_save;
# 2143|   
# 2144|       return result;

Error: CPPCHECK_WARNING (CWE-909):
vim91/src/regexp.c:2142: error[uninitStructMember]: Uninitialized struct member: rex_save.reg_ic
# 2140|       rex_in_use = rex_in_use_save;
# 2141|       if (rex_in_use)
# 2142|-> 	rex = rex_save;
# 2143|   
# 2144|       return result;

Error: CPPCHECK_WARNING (CWE-909):
vim91/src/regexp.c:2142: error[uninitStructMember]: Uninitialized struct member: rex_save.reg_icombine
# 2140|       rex_in_use = rex_in_use_save;
# 2141|       if (rex_in_use)
# 2142|-> 	rex = rex_save;
# 2143|   
# 2144|       return result;

Error: CPPCHECK_WARNING (CWE-909):
vim91/src/regexp.c:2142: error[uninitStructMember]: Uninitialized struct member: rex_save.reg_line_lbr
# 2140|       rex_in_use = rex_in_use_save;
# 2141|       if (rex_in_use)
# 2142|-> 	rex = rex_save;
# 2143|   
# 2144|       return result;

Error: CPPCHECK_WARNING (CWE-909):
vim91/src/regexp.c:2142: error[uninitStructMember]: Uninitialized struct member: rex_save.reg_match
# 2140|       rex_in_use = rex_in_use_save;
# 2141|       if (rex_in_use)
# 2142|-> 	rex = rex_save;
# 2143|   
# 2144|       return result;

Error: CPPCHECK_WARNING (CWE-909):
vim91/src/regexp.c:2142: error[uninitStructMember]: Uninitialized struct member: rex_save.reg_maxcol
# 2140|       rex_in_use = rex_in_use_save;
# 2141|       if (rex_in_use)
# 2142|-> 	rex = rex_save;
# 2143|   
# 2144|       return result;

Error: CPPCHECK_WARNING (CWE-909):
vim91/src/regexp.c:2142: error[uninitStructMember]: Uninitialized struct member: rex_save.reg_maxline
# 2140|       rex_in_use = rex_in_use_save;
# 2141|       if (rex_in_use)
# 2142|-> 	rex = rex_save;
# 2143|   
# 2144|       return result;

Error: CPPCHECK_WARNING (CWE-909):
vim91/src/regexp.c:2142: error[uninitStructMember]: Uninitialized struct member: rex_save.reg_mmatch
# 2140|       rex_in_use = rex_in_use_save;
# 2141|       if (rex_in_use)
# 2142|-> 	rex = rex_save;
# 2143|   
# 2144|       return result;

Error: CPPCHECK_WARNING (CWE-909):
vim91/src/regexp.c:2142: error[uninitStructMember]: Uninitialized struct member: rex_save.reg_startp
# 2140|       rex_in_use = rex_in_use_save;
# 2141|       if (rex_in_use)
# 2142|-> 	rex = rex_save;
# 2143|   
# 2144|       return result;

Error: CPPCHECK_WARNING (CWE-909):
vim91/src/regexp.c:2142: error[uninitStructMember]: Uninitialized struct member: rex_save.reg_startpos
# 2140|       rex_in_use = rex_in_use_save;
# 2141|       if (rex_in_use)
# 2142|-> 	rex = rex_save;
# 2143|   
# 2144|       return result;

Error: CPPCHECK_WARNING (CWE-909):
vim91/src/regexp.c:2142: error[uninitStructMember]: Uninitialized struct member: rex_save.reg_win
# 2140|       rex_in_use = rex_in_use_save;
# 2141|       if (rex_in_use)
# 2142|-> 	rex = rex_save;
# 2143|   
# 2144|       return result;

Error: CPPCHECK_WARNING (CWE-909):
vim91/src/regexp.c:3135: error[uninitStructMember]: Uninitialized struct member: rex_save.input
# 3133|       rex_in_use = rex_in_use_save;
# 3134|       if (rex_in_use)
# 3135|-> 	rex = rex_save;
# 3136|   
# 3137|       return result > 0;

Error: CPPCHECK_WARNING (CWE-909):
vim91/src/regexp.c:3135: error[uninitStructMember]: Uninitialized struct member: rex_save.line
# 3133|       rex_in_use = rex_in_use_save;
# 3134|       if (rex_in_use)
# 3135|-> 	rex = rex_save;
# 3136|   
# 3137|       return result > 0;

Error: CPPCHECK_WARNING (CWE-909):
vim91/src/regexp.c:3135: error[uninitStructMember]: Uninitialized struct member: rex_save.lnum
# 3133|       rex_in_use = rex_in_use_save;
# 3134|       if (rex_in_use)
# 3135|-> 	rex = rex_save;
# 3136|   
# 3137|       return result > 0;

Error: CPPCHECK_WARNING (CWE-909):
vim91/src/regexp.c:3135: error[uninitStructMember]: Uninitialized struct member: rex_save.need_clear_subexpr
# 3133|       rex_in_use = rex_in_use_save;
# 3134|       if (rex_in_use)
# 3135|-> 	rex = rex_save;
# 3136|   
# 3137|       return result > 0;

Error: CPPCHECK_WARNING (CWE-909):
vim91/src/regexp.c:3135: error[uninitStructMember]: Uninitialized struct member: rex_save.need_clear_zsubexpr
# 3133|       rex_in_use = rex_in_use_save;
# 3134|       if (rex_in_use)
# 3135|-> 	rex = rex_save;
# 3136|   
# 3137|       return result > 0;

Error: CPPCHECK_WARNING (CWE-909):
vim91/src/regexp.c:3135: error[uninitStructMember]: Uninitialized struct member: rex_save.nfa_alt_listid
# 3133|       rex_in_use = rex_in_use_save;
# 3134|       if (rex_in_use)
# 3135|-> 	rex = rex_save;
# 3136|   
# 3137|       return result > 0;

Error: CPPCHECK_WARNING (CWE-909):
vim91/src/regexp.c:3135: error[uninitStructMember]: Uninitialized struct member: rex_save.nfa_has_backref
# 3133|       rex_in_use = rex_in_use_save;
# 3134|       if (rex_in_use)
# 3135|-> 	rex = rex_save;
# 3136|   
# 3137|       return result > 0;

Error: CPPCHECK_WARNING (CWE-909):
vim91/src/regexp.c:3135: error[uninitStructMember]: Uninitialized struct member: rex_save.nfa_has_zend
# 3133|       rex_in_use = rex_in_use_save;
# 3134|       if (rex_in_use)
# 3135|-> 	rex = rex_save;
# 3136|   
# 3137|       return result > 0;

Error: CPPCHECK_WARNING (CWE-909):
vim91/src/regexp.c:3135: error[uninitStructMember]: Uninitialized struct member: rex_save.nfa_has_zsubexpr
# 3133|       rex_in_use = rex_in_use_save;
# 3134|       if (rex_in_use)
# 3135|-> 	rex = rex_save;
# 3136|   
# 3137|       return result > 0;

Error: CPPCHECK_WARNING (CWE-909):
vim91/src/regexp.c:3135: error[uninitStructMember]: Uninitialized struct member: rex_save.nfa_listid
# 3133|       rex_in_use = rex_in_use_save;
# 3134|       if (rex_in_use)
# 3135|-> 	rex = rex_save;
# 3136|   
# 3137|       return result > 0;

Error: CPPCHECK_WARNING (CWE-909):
vim91/src/regexp.c:3135: error[uninitStructMember]: Uninitialized struct member: rex_save.nfa_nsubexpr
# 3133|       rex_in_use = rex_in_use_save;
# 3134|       if (rex_in_use)
# 3135|-> 	rex = rex_save;
# 3136|   
# 3137|       return result > 0;

Error: CPPCHECK_WARNING (CWE-909):
vim91/src/regexp.c:3135: error[uninitStructMember]: Uninitialized struct member: rex_save.reg_buf
# 3133|       rex_in_use = rex_in_use_save;
# 3134|       if (rex_in_use)
# 3135|-> 	rex = rex_save;
# 3136|   
# 3137|       return result > 0;

Error: CPPCHECK_WARNING (CWE-909):
vim91/src/regexp.c:3135: error[uninitStructMember]: Uninitialized struct member: rex_save.reg_endp
# 3133|       rex_in_use = rex_in_use_save;
# 3134|       if (rex_in_use)
# 3135|-> 	rex = rex_save;
# 3136|   
# 3137|       return result > 0;

Error: CPPCHECK_WARNING (CWE-909):
vim91/src/regexp.c:3135: error[uninitStructMember]: Uninitialized struct member: rex_save.reg_endpos
# 3133|       rex_in_use = rex_in_use_save;
# 3134|       if (rex_in_use)
# 3135|-> 	rex = rex_save;
# 3136|   
# 3137|       return result > 0;

Error: CPPCHECK_WARNING (CWE-909):
vim91/src/regexp.c:3135: error[uninitStructMember]: Uninitialized struct member: rex_save.reg_firstlnum
# 3133|       rex_in_use = rex_in_use_save;
# 3134|       if (rex_in_use)
# 3135|-> 	rex = rex_save;
# 3136|   
# 3137|       return result > 0;

Error: CPPCHECK_WARNING (CWE-909):
vim91/src/regexp.c:3135: error[uninitStructMember]: Uninitialized struct member: rex_save.reg_ic
# 3133|       rex_in_use = rex_in_use_save;
# 3134|       if (rex_in_use)
# 3135|-> 	rex = rex_save;
# 3136|   
# 3137|       return result > 0;

Error: CPPCHECK_WARNING (CWE-909):
vim91/src/regexp.c:3135: error[uninitStructMember]: Uninitialized struct member: rex_save.reg_icombine
# 3133|       rex_in_use = rex_in_use_save;
# 3134|       if (rex_in_use)
# 3135|-> 	rex = rex_save;
# 3136|   
# 3137|       return result > 0;

Error: CPPCHECK_WARNING (CWE-909):
vim91/src/regexp.c:3135: error[uninitStructMember]: Uninitialized struct member: rex_save.reg_line_lbr
# 3133|       rex_in_use = rex_in_use_save;
# 3134|       if (rex_in_use)
# 3135|-> 	rex = rex_save;
# 3136|   
# 3137|       return result > 0;

Error: CPPCHECK_WARNING (CWE-909):
vim91/src/regexp.c:3135: error[uninitStructMember]: Uninitialized struct member: rex_save.reg_match
# 3133|       rex_in_use = rex_in_use_save;
# 3134|       if (rex_in_use)
# 3135|-> 	rex = rex_save;
# 3136|   
# 3137|       return result > 0;

Error: CPPCHECK_WARNING (CWE-909):
vim91/src/regexp.c:3135: error[uninitStructMember]: Uninitialized struct member: rex_save.reg_maxcol
# 3133|       rex_in_use = rex_in_use_save;
# 3134|       if (rex_in_use)
# 3135|-> 	rex = rex_save;
# 3136|   
# 3137|       return result > 0;

Error: CPPCHECK_WARNING (CWE-909):
vim91/src/regexp.c:3135: error[uninitStructMember]: Uninitialized struct member: rex_save.reg_maxline
# 3133|       rex_in_use = rex_in_use_save;
# 3134|       if (rex_in_use)
# 3135|-> 	rex = rex_save;
# 3136|   
# 3137|       return result > 0;

Error: CPPCHECK_WARNING (CWE-909):
vim91/src/regexp.c:3135: error[uninitStructMember]: Uninitialized struct member: rex_save.reg_mmatch
# 3133|       rex_in_use = rex_in_use_save;
# 3134|       if (rex_in_use)
# 3135|-> 	rex = rex_save;
# 3136|   
# 3137|       return result > 0;

Error: CPPCHECK_WARNING (CWE-909):
vim91/src/regexp.c:3135: error[uninitStructMember]: Uninitialized struct member: rex_save.reg_startp
# 3133|       rex_in_use = rex_in_use_save;
# 3134|       if (rex_in_use)
# 3135|-> 	rex = rex_save;
# 3136|   
# 3137|       return result > 0;

Error: CPPCHECK_WARNING (CWE-909):
vim91/src/regexp.c:3135: error[uninitStructMember]: Uninitialized struct member: rex_save.reg_startpos
# 3133|       rex_in_use = rex_in_use_save;
# 3134|       if (rex_in_use)
# 3135|-> 	rex = rex_save;
# 3136|   
# 3137|       return result > 0;

Error: CPPCHECK_WARNING (CWE-909):
vim91/src/regexp.c:3135: error[uninitStructMember]: Uninitialized struct member: rex_save.reg_win
# 3133|       rex_in_use = rex_in_use_save;
# 3134|       if (rex_in_use)
# 3135|-> 	rex = rex_save;
# 3136|   
# 3137|       return result > 0;

Error: CPPCHECK_WARNING (CWE-909):
vim91/src/regexp.c:3270: error[uninitStructMember]: Uninitialized struct member: rex_save.input
# 3268|       rex_in_use = rex_in_use_save;
# 3269|       if (rex_in_use)
# 3270|-> 	rex = rex_save;
# 3271|   
# 3272|       return result <= 0 ? 0 : result;

Error: CPPCHECK_WARNING (CWE-909):
vim91/src/regexp.c:3270: error[uninitStructMember]: Uninitialized struct member: rex_save.line
# 3268|       rex_in_use = rex_in_use_save;
# 3269|       if (rex_in_use)
# 3270|-> 	rex = rex_save;
# 3271|   
# 3272|       return result <= 0 ? 0 : result;

Error: CPPCHECK_WARNING (CWE-909):
vim91/src/regexp.c:3270: error[uninitStructMember]: Uninitialized struct member: rex_save.lnum
# 3268|       rex_in_use = rex_in_use_save;
# 3269|       if (rex_in_use)
# 3270|-> 	rex = rex_save;
# 3271|   
# 3272|       return result <= 0 ? 0 : result;

Error: CPPCHECK_WARNING (CWE-909):
vim91/src/regexp.c:3270: error[uninitStructMember]: Uninitialized struct member: rex_save.need_clear_subexpr
# 3268|       rex_in_use = rex_in_use_save;
# 3269|       if (rex_in_use)
# 3270|-> 	rex = rex_save;
# 3271|   
# 3272|       return result <= 0 ? 0 : result;

Error: CPPCHECK_WARNING (CWE-909):
vim91/src/regexp.c:3270: error[uninitStructMember]: Uninitialized struct member: rex_save.need_clear_zsubexpr
# 3268|       rex_in_use = rex_in_use_save;
# 3269|       if (rex_in_use)
# 3270|-> 	rex = rex_save;
# 3271|   
# 3272|       return result <= 0 ? 0 : result;

Error: CPPCHECK_WARNING (CWE-909):
vim91/src/regexp.c:3270: error[uninitStructMember]: Uninitialized struct member: rex_save.nfa_alt_listid
# 3268|       rex_in_use = rex_in_use_save;
# 3269|       if (rex_in_use)
# 3270|-> 	rex = rex_save;
# 3271|   
# 3272|       return result <= 0 ? 0 : result;

Error: CPPCHECK_WARNING (CWE-909):
vim91/src/regexp.c:3270: error[uninitStructMember]: Uninitialized struct member: rex_save.nfa_has_backref
# 3268|       rex_in_use = rex_in_use_save;
# 3269|       if (rex_in_use)
# 3270|-> 	rex = rex_save;
# 3271|   
# 3272|       return result <= 0 ? 0 : result;

Error: CPPCHECK_WARNING (CWE-909):
vim91/src/regexp.c:3270: error[uninitStructMember]: Uninitialized struct member: rex_save.nfa_has_zend
# 3268|       rex_in_use = rex_in_use_save;
# 3269|       if (rex_in_use)
# 3270|-> 	rex = rex_save;
# 3271|   
# 3272|       return result <= 0 ? 0 : result;

Error: CPPCHECK_WARNING (CWE-909):
vim91/src/regexp.c:3270: error[uninitStructMember]: Uninitialized struct member: rex_save.nfa_has_zsubexpr
# 3268|       rex_in_use = rex_in_use_save;
# 3269|       if (rex_in_use)
# 3270|-> 	rex = rex_save;
# 3271|   
# 3272|       return result <= 0 ? 0 : result;

Error: CPPCHECK_WARNING (CWE-909):
vim91/src/regexp.c:3270: error[uninitStructMember]: Uninitialized struct member: rex_save.nfa_listid
# 3268|       rex_in_use = rex_in_use_save;
# 3269|       if (rex_in_use)
# 3270|-> 	rex = rex_save;
# 3271|   
# 3272|       return result <= 0 ? 0 : result;

Error: CPPCHECK_WARNING (CWE-909):
vim91/src/regexp.c:3270: error[uninitStructMember]: Uninitialized struct member: rex_save.nfa_nsubexpr
# 3268|       rex_in_use = rex_in_use_save;
# 3269|       if (rex_in_use)
# 3270|-> 	rex = rex_save;
# 3271|   
# 3272|       return result <= 0 ? 0 : result;

Error: CPPCHECK_WARNING (CWE-909):
vim91/src/regexp.c:3270: error[uninitStructMember]: Uninitialized struct member: rex_save.reg_buf
# 3268|       rex_in_use = rex_in_use_save;
# 3269|       if (rex_in_use)
# 3270|-> 	rex = rex_save;
# 3271|   
# 3272|       return result <= 0 ? 0 : result;

Error: CPPCHECK_WARNING (CWE-909):
vim91/src/regexp.c:3270: error[uninitStructMember]: Uninitialized struct member: rex_save.reg_endp
# 3268|       rex_in_use = rex_in_use_save;
# 3269|       if (rex_in_use)
# 3270|-> 	rex = rex_save;
# 3271|   
# 3272|       return result <= 0 ? 0 : result;

Error: CPPCHECK_WARNING (CWE-909):
vim91/src/regexp.c:3270: error[uninitStructMember]: Uninitialized struct member: rex_save.reg_endpos
# 3268|       rex_in_use = rex_in_use_save;
# 3269|       if (rex_in_use)
# 3270|-> 	rex = rex_save;
# 3271|   
# 3272|       return result <= 0 ? 0 : result;

Error: CPPCHECK_WARNING (CWE-909):
vim91/src/regexp.c:3270: error[uninitStructMember]: Uninitialized struct member: rex_save.reg_firstlnum
# 3268|       rex_in_use = rex_in_use_save;
# 3269|       if (rex_in_use)
# 3270|-> 	rex = rex_save;
# 3271|   
# 3272|       return result <= 0 ? 0 : result;

Error: CPPCHECK_WARNING (CWE-909):
vim91/src/regexp.c:3270: error[uninitStructMember]: Uninitialized struct member: rex_save.reg_ic
# 3268|       rex_in_use = rex_in_use_save;
# 3269|       if (rex_in_use)
# 3270|-> 	rex = rex_save;
# 3271|   
# 3272|       return result <= 0 ? 0 : result;

Error: CPPCHECK_WARNING (CWE-909):
vim91/src/regexp.c:3270: error[uninitStructMember]: Uninitialized struct member: rex_save.reg_icombine
# 3268|       rex_in_use = rex_in_use_save;
# 3269|       if (rex_in_use)
# 3270|-> 	rex = rex_save;
# 3271|   
# 3272|       return result <= 0 ? 0 : result;

Error: CPPCHECK_WARNING (CWE-909):
vim91/src/regexp.c:3270: error[uninitStructMember]: Uninitialized struct member: rex_save.reg_line_lbr
# 3268|       rex_in_use = rex_in_use_save;
# 3269|       if (rex_in_use)
# 3270|-> 	rex = rex_save;
# 3271|   
# 3272|       return result <= 0 ? 0 : result;

Error: CPPCHECK_WARNING (CWE-909):
vim91/src/regexp.c:3270: error[uninitStructMember]: Uninitialized struct member: rex_save.reg_match
# 3268|       rex_in_use = rex_in_use_save;
# 3269|       if (rex_in_use)
# 3270|-> 	rex = rex_save;
# 3271|   
# 3272|       return result <= 0 ? 0 : result;

Error: CPPCHECK_WARNING (CWE-909):
vim91/src/regexp.c:3270: error[uninitStructMember]: Uninitialized struct member: rex_save.reg_maxcol
# 3268|       rex_in_use = rex_in_use_save;
# 3269|       if (rex_in_use)
# 3270|-> 	rex = rex_save;
# 3271|   
# 3272|       return result <= 0 ? 0 : result;

Error: CPPCHECK_WARNING (CWE-909):
vim91/src/regexp.c:3270: error[uninitStructMember]: Uninitialized struct member: rex_save.reg_maxline
# 3268|       rex_in_use = rex_in_use_save;
# 3269|       if (rex_in_use)
# 3270|-> 	rex = rex_save;
# 3271|   
# 3272|       return result <= 0 ? 0 : result;

Error: CPPCHECK_WARNING (CWE-909):
vim91/src/regexp.c:3270: error[uninitStructMember]: Uninitialized struct member: rex_save.reg_mmatch
# 3268|       rex_in_use = rex_in_use_save;
# 3269|       if (rex_in_use)
# 3270|-> 	rex = rex_save;
# 3271|   
# 3272|       return result <= 0 ? 0 : result;

Error: CPPCHECK_WARNING (CWE-909):
vim91/src/regexp.c:3270: error[uninitStructMember]: Uninitialized struct member: rex_save.reg_startp
# 3268|       rex_in_use = rex_in_use_save;
# 3269|       if (rex_in_use)
# 3270|-> 	rex = rex_save;
# 3271|   
# 3272|       return result <= 0 ? 0 : result;

Error: CPPCHECK_WARNING (CWE-909):
vim91/src/regexp.c:3270: error[uninitStructMember]: Uninitialized struct member: rex_save.reg_startpos
# 3268|       rex_in_use = rex_in_use_save;
# 3269|       if (rex_in_use)
# 3270|-> 	rex = rex_save;
# 3271|   
# 3272|       return result <= 0 ? 0 : result;

Error: CPPCHECK_WARNING (CWE-909):
vim91/src/regexp.c:3270: error[uninitStructMember]: Uninitialized struct member: rex_save.reg_win
# 3268|       rex_in_use = rex_in_use_save;
# 3269|       if (rex_in_use)
# 3270|-> 	rex = rex_save;
# 3271|   
# 3272|       return result <= 0 ? 0 : result;

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

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

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

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/scriptfile.c:59:9: warning[-Wanalyzer-malloc-leak]: leak of ‘cookie.fp’
vim91/src/scriptfile.c:1584:1: enter_function: entry to ‘do_source_ext’
vim91/src/scriptfile.c:1618:8: branch_false: following ‘false’ branch (when ‘fname’ is non-NULL)...
vim91/src/scriptfile.c:1627:27: branch_false: ...to here
vim91/src/scriptfile.c:1628:12: branch_false: following ‘false’ branch...
vim91/src/scriptfile.c:1630:21: branch_false: ...to here
vim91/src/scriptfile.c:1631:12: branch_false: following ‘false’ branch...
vim91/src/scriptfile.c:1633:13: branch_false: ...to here
vim91/src/scriptfile.c:1633:12: branch_false: following ‘false’ branch...
vim91/src/scriptfile.c:1655:9: branch_false: ...to here
vim91/src/scriptfile.c:1674:8: branch_true: following ‘true’ branch...
vim91/src/scriptfile.c:1677:21: branch_true: ...to here
vim91/src/scriptfile.c:1677:21: call_function: calling ‘fopen_noinh_readbin’ from ‘do_source_ext’
vim91/src/scriptfile.c:1677:21: return_function: returning to ‘do_source_ext’ from ‘fopen_noinh_readbin’
vim91/src/scriptfile.c:1682:8: branch_false: following ‘false’ branch...
vim91/src/scriptfile.c:1704:9: branch_false: ...to here
vim91/src/scriptfile.c:1704:8: branch_false: following ‘false’ branch...
vim91/src/scriptfile.c:1722:9: branch_false: ...to here
vim91/src/scriptfile.c:1878:5: call_function: calling ‘estack_push’ from ‘do_source_ext’
#   57|       // If memory allocation fails then we'll pop more than we push, eventually
#   58|       // at the top level it will be OK again.
#   59|->     if (ga_grow(&exestack, 1) == FAIL)
#   60|   	return NULL;
#   61|   

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/scriptfile.c:439:9: warning[-Wanalyzer-malloc-leak]: leak of ‘cookie.fp’
vim91/src/scriptfile.c:1346:1: enter_function: entry to ‘cmd_source’
vim91/src/scriptfile.c:1393:14: call_function: inlined call to ‘do_source’ from ‘cmd_source’
#  437|       scriptitem_T    *si = NULL;
#  438|   
#  439|->     if (ga_grow(&script_items, (int)(sid - script_items.ga_len)) == FAIL)
#  440|       {
#  441|   	*error = FAIL;

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/scriptfile.c:446:14: warning[-Wanalyzer-malloc-leak]: leak of ‘cookie.fp’
vim91/src/scriptfile.c:1346:1: enter_function: entry to ‘cmd_source’
vim91/src/scriptfile.c:1393:14: call_function: inlined call to ‘do_source’ from ‘cmd_source’
#  444|       while (script_items.ga_len < sid)
#  445|       {
#  446|-> 	si = ALLOC_CLEAR_ONE(scriptitem_T);
#  447|   	if (si == NULL)
#  448|   	{

Error: GCC_ANALYZER_WARNING (CWE-476):
vim91/src/scriptfile.c:1357:13: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘eap’
vim91/src/scriptfile.c:1427:1: enter_function: entry to ‘ex_options’
vim91/src/scriptfile.c:1437:5: call_function: calling ‘cmd_source’ from ‘ex_options’
# 1355|   	if (*fname != NUL)
# 1356|   	{
# 1357|-> 	    semsg(_(e_invalid_argument_str), eap->arg);
# 1358|   	    return;
# 1359|   	}

Error: GCC_ANALYZER_WARNING (CWE-476):
vim91/src/scriptfile.c:1544:10: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘eap’
vim91/src/scriptfile.c:2041:1: enter_function: entry to ‘do_source’
vim91/src/scriptfile.c:2047:12: call_function: calling ‘do_source_ext’ from ‘do_source’
# 1542|   
# 1543|       // Copy the lines from the buffer into a grow array
# 1544|->     for (curr_lnum = eap->line1; curr_lnum <= eap->line2; curr_lnum++)
# 1545|       {
# 1546|   	line = vim_strsave(ml_get(curr_lnum));

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/scriptfile.c:1724:9: warning[-Wanalyzer-malloc-leak]: leak of ‘cookie.fp’
vim91/src/scriptfile.c:1584:1: enter_function: entry to ‘do_source_ext’
vim91/src/scriptfile.c:1618:8: branch_false: following ‘false’ branch (when ‘fname’ is non-NULL)...
vim91/src/scriptfile.c:1627:27: branch_false: ...to here
vim91/src/scriptfile.c:1628:12: branch_false: following ‘false’ branch...
vim91/src/scriptfile.c:1630:21: branch_false: ...to here
vim91/src/scriptfile.c:1631:12: branch_false: following ‘false’ branch...
vim91/src/scriptfile.c:1633:13: branch_false: ...to here
vim91/src/scriptfile.c:1633:12: branch_false: following ‘false’ branch...
vim91/src/scriptfile.c:1640:5: branch_false: ...to here
vim91/src/scriptfile.c:1674:8: branch_true: following ‘true’ branch...
vim91/src/scriptfile.c:1677:21: branch_true: ...to here
vim91/src/scriptfile.c:1677:21: call_function: calling ‘fopen_noinh_readbin’ from ‘do_source_ext’
vim91/src/scriptfile.c:1677:21: return_function: returning to ‘do_source_ext’ from ‘fopen_noinh_readbin’
vim91/src/scriptfile.c:1682:8: branch_false: following ‘false’ branch...
vim91/src/scriptfile.c:1704:9: branch_false: ...to here
vim91/src/scriptfile.c:1704:8: branch_false: following ‘false’ branch...
vim91/src/scriptfile.c:1722:9: branch_false: ...to here
vim91/src/scriptfile.c:1722:8: branch_true: following ‘true’ branch...
vim91/src/scriptfile.c:1724:9: branch_true: ...to here
vim91/src/scriptfile.c:1724:9: danger: ‘cookie.fp’ leaks here; was allocated at [(16)](sarif:/runs/0/results/4/codeFlows/0/threadFlows/0/locations/15)
# 1722|       if (p_verbose > 1)
# 1723|       {
# 1724|-> 	verbose_enter();
# 1725|   	if (SOURCING_NAME == NULL)
# 1726|   	    smsg(_("sourcing \"%s\""), fname);

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/scriptfile.c:1726:13: warning[-Wanalyzer-malloc-leak]: leak of ‘cookie.fp’
vim91/src/scriptfile.c:1584:1: enter_function: entry to ‘do_source_ext’
vim91/src/scriptfile.c:1618:8: branch_false: following ‘false’ branch (when ‘fname’ is non-NULL)...
vim91/src/scriptfile.c:1627:27: branch_false: ...to here
vim91/src/scriptfile.c:1628:12: branch_false: following ‘false’ branch...
vim91/src/scriptfile.c:1630:21: branch_false: ...to here
vim91/src/scriptfile.c:1631:12: branch_false: following ‘false’ branch...
vim91/src/scriptfile.c:1633:13: branch_false: ...to here
vim91/src/scriptfile.c:1633:12: branch_false: following ‘false’ branch...
vim91/src/scriptfile.c:1640:5: branch_false: ...to here
vim91/src/scriptfile.c:1674:8: branch_true: following ‘true’ branch...
vim91/src/scriptfile.c:1677:21: branch_true: ...to here
vim91/src/scriptfile.c:1677:21: call_function: calling ‘fopen_noinh_readbin’ from ‘do_source_ext’
vim91/src/scriptfile.c:1677:21: return_function: returning to ‘do_source_ext’ from ‘fopen_noinh_readbin’
vim91/src/scriptfile.c:1682:8: branch_false: following ‘false’ branch...
vim91/src/scriptfile.c:1704:9: branch_false: ...to here
vim91/src/scriptfile.c:1704:8: branch_false: following ‘false’ branch...
vim91/src/scriptfile.c:1722:9: branch_false: ...to here
vim91/src/scriptfile.c:1722:8: branch_true: following ‘true’ branch...
vim91/src/scriptfile.c:1724:9: branch_true: ...to here
vim91/src/scriptfile.c:1725:12: branch_true: following ‘true’ branch...
vim91/src/scriptfile.c:1726:18: branch_true: ...to here
vim91/src/scriptfile.c:1726:13: danger: ‘cookie.fp’ leaks here; was allocated at [(16)](sarif:/runs/0/results/5/codeFlows/0/threadFlows/0/locations/15)
# 1724|   	verbose_enter();
# 1725|   	if (SOURCING_NAME == NULL)
# 1726|-> 	    smsg(_("sourcing \"%s\""), fname);
# 1727|   	else
# 1728|   	    smsg(_("line %ld: sourcing \"%s\""), SOURCING_LNUM, fname);

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/scriptfile.c:1728:13: warning[-Wanalyzer-malloc-leak]: leak of ‘cookie.fp’
vim91/src/scriptfile.c:1584:1: enter_function: entry to ‘do_source_ext’
vim91/src/scriptfile.c:1618:8: branch_false: following ‘false’ branch (when ‘fname’ is non-NULL)...
vim91/src/scriptfile.c:1627:27: branch_false: ...to here
vim91/src/scriptfile.c:1628:12: branch_false: following ‘false’ branch...
vim91/src/scriptfile.c:1630:21: branch_false: ...to here
vim91/src/scriptfile.c:1631:12: branch_false: following ‘false’ branch...
vim91/src/scriptfile.c:1633:13: branch_false: ...to here
vim91/src/scriptfile.c:1633:12: branch_false: following ‘false’ branch...
vim91/src/scriptfile.c:1640:5: branch_false: ...to here
vim91/src/scriptfile.c:1674:8: branch_true: following ‘true’ branch...
vim91/src/scriptfile.c:1677:21: branch_true: ...to here
vim91/src/scriptfile.c:1677:21: call_function: calling ‘fopen_noinh_readbin’ from ‘do_source_ext’
vim91/src/scriptfile.c:1677:21: return_function: returning to ‘do_source_ext’ from ‘fopen_noinh_readbin’
vim91/src/scriptfile.c:1682:8: branch_false: following ‘false’ branch...
vim91/src/scriptfile.c:1704:9: branch_false: ...to here
vim91/src/scriptfile.c:1704:8: branch_false: following ‘false’ branch...
vim91/src/scriptfile.c:1722:9: branch_false: ...to here
vim91/src/scriptfile.c:1722:8: branch_true: following ‘true’ branch...
vim91/src/scriptfile.c:1724:9: branch_true: ...to here
vim91/src/scriptfile.c:1725:12: branch_false: following ‘false’ branch...
vim91/src/scriptfile.c:1728:13: branch_false: ...to here
vim91/src/scriptfile.c:1728:13: danger: ‘cookie.fp’ leaks here; was allocated at [(16)](sarif:/runs/0/results/6/codeFlows/0/threadFlows/0/locations/15)
# 1726|   	    smsg(_("sourcing \"%s\""), fname);
# 1727|   	else
# 1728|-> 	    smsg(_("line %ld: sourcing \"%s\""), SOURCING_LNUM, fname);
# 1729|   	verbose_leave();
# 1730|       }

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/scriptfile.c:1729:9: warning[-Wanalyzer-malloc-leak]: leak of ‘cookie.fp’
vim91/src/scriptfile.c:1584:1: enter_function: entry to ‘do_source_ext’
vim91/src/scriptfile.c:1618:8: branch_false: following ‘false’ branch (when ‘fname’ is non-NULL)...
vim91/src/scriptfile.c:1627:27: branch_false: ...to here
vim91/src/scriptfile.c:1628:12: branch_false: following ‘false’ branch...
vim91/src/scriptfile.c:1630:21: branch_false: ...to here
vim91/src/scriptfile.c:1631:12: branch_false: following ‘false’ branch...
vim91/src/scriptfile.c:1633:13: branch_false: ...to here
vim91/src/scriptfile.c:1633:12: branch_false: following ‘false’ branch...
vim91/src/scriptfile.c:1640:5: branch_false: ...to here
vim91/src/scriptfile.c:1674:8: branch_true: following ‘true’ branch...
vim91/src/scriptfile.c:1677:21: branch_true: ...to here
vim91/src/scriptfile.c:1677:21: call_function: calling ‘fopen_noinh_readbin’ from ‘do_source_ext’
vim91/src/scriptfile.c:1677:21: return_function: returning to ‘do_source_ext’ from ‘fopen_noinh_readbin’
vim91/src/scriptfile.c:1682:8: branch_false: following ‘false’ branch...
vim91/src/scriptfile.c:1704:9: branch_false: ...to here
vim91/src/scriptfile.c:1704:8: branch_false: following ‘false’ branch...
vim91/src/scriptfile.c:1722:9: branch_false: ...to here
vim91/src/scriptfile.c:1722:8: branch_true: following ‘true’ branch...
vim91/src/scriptfile.c:1724:9: branch_true: ...to here
vim91/src/scriptfile.c:1729:9: danger: ‘cookie.fp’ leaks here; was allocated at [(16)](sarif:/runs/0/results/7/codeFlows/0/threadFlows/0/locations/15)
# 1727|   	else
# 1728|   	    smsg(_("line %ld: sourcing \"%s\""), SOURCING_LNUM, fname);
# 1729|-> 	verbose_leave();
# 1730|       }
# 1731|       if (is_vimrc == DOSO_VIMRC)

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/scriptfile.c:1732:9: warning[-Wanalyzer-malloc-leak]: leak of ‘cookie.fp’
vim91/src/scriptfile.c:1584:1: enter_function: entry to ‘do_source_ext’
vim91/src/scriptfile.c:1618:8: branch_false: following ‘false’ branch (when ‘fname’ is non-NULL)...
vim91/src/scriptfile.c:1627:27: branch_false: ...to here
vim91/src/scriptfile.c:1628:12: branch_false: following ‘false’ branch...
vim91/src/scriptfile.c:1630:21: branch_false: ...to here
vim91/src/scriptfile.c:1631:12: branch_false: following ‘false’ branch...
vim91/src/scriptfile.c:1633:13: branch_false: ...to here
vim91/src/scriptfile.c:1633:12: branch_false: following ‘false’ branch...
vim91/src/scriptfile.c:1640:5: branch_false: ...to here
vim91/src/scriptfile.c:1674:8: branch_true: following ‘true’ branch...
vim91/src/scriptfile.c:1677:21: branch_true: ...to here
vim91/src/scriptfile.c:1677:21: call_function: calling ‘fopen_noinh_readbin’ from ‘do_source_ext’
vim91/src/scriptfile.c:1677:21: return_function: returning to ‘do_source_ext’ from ‘fopen_noinh_readbin’
vim91/src/scriptfile.c:1682:8: branch_false: following ‘false’ branch...
vim91/src/scriptfile.c:1704:9: branch_false: ...to here
vim91/src/scriptfile.c:1704:8: branch_false: following ‘false’ branch...
vim91/src/scriptfile.c:1722:9: branch_false: ...to here
vim91/src/scriptfile.c:1731:8: branch_true: following ‘true’ branch (when ‘is_vimrc == 1’)...
vim91/src/scriptfile.c:1732:9: branch_true: ...to here
vim91/src/scriptfile.c:1732:9: danger: ‘cookie.fp’ leaks here; was allocated at [(16)](sarif:/runs/0/results/8/codeFlows/0/threadFlows/0/locations/15)
# 1730|       }
# 1731|       if (is_vimrc == DOSO_VIMRC)
# 1732|-> 	vimrc_found(fname_exp, (char_u *)"MYVIMRC");
# 1733|       else if (is_vimrc == DOSO_GVIMRC)
# 1734|   	vimrc_found(fname_exp, (char_u *)"MYGVIMRC");

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/scriptfile.c:1734:9: warning[-Wanalyzer-malloc-leak]: leak of ‘cookie.fp’
vim91/src/scriptfile.c:1584:1: enter_function: entry to ‘do_source_ext’
vim91/src/scriptfile.c:1618:8: branch_false: following ‘false’ branch (when ‘fname’ is non-NULL)...
vim91/src/scriptfile.c:1627:27: branch_false: ...to here
vim91/src/scriptfile.c:1628:12: branch_false: following ‘false’ branch...
vim91/src/scriptfile.c:1630:21: branch_false: ...to here
vim91/src/scriptfile.c:1631:12: branch_false: following ‘false’ branch...
vim91/src/scriptfile.c:1633:13: branch_false: ...to here
vim91/src/scriptfile.c:1633:12: branch_false: following ‘false’ branch...
vim91/src/scriptfile.c:1640:5: branch_false: ...to here
vim91/src/scriptfile.c:1674:8: branch_true: following ‘true’ branch...
vim91/src/scriptfile.c:1677:21: branch_true: ...to here
vim91/src/scriptfile.c:1677:21: call_function: calling ‘fopen_noinh_readbin’ from ‘do_source_ext’
vim91/src/scriptfile.c:1677:21: return_function: returning to ‘do_source_ext’ from ‘fopen_noinh_readbin’
vim91/src/scriptfile.c:1682:8: branch_false: following ‘false’ branch...
vim91/src/scriptfile.c:1704:9: branch_false: ...to here
vim91/src/scriptfile.c:1704:8: branch_false: following ‘false’ branch...
vim91/src/scriptfile.c:1722:9: branch_false: ...to here
vim91/src/scriptfile.c:1731:8: branch_false: following ‘false’ branch (when ‘is_vimrc != 1’)...
vim91/src/scriptfile.c:1733:13: branch_false: ...to here
vim91/src/scriptfile.c:1733:13: branch_true: following ‘true’ branch (when ‘is_vimrc == 2’)...
vim91/src/scriptfile.c:1734:9: branch_true: ...to here
vim91/src/scriptfile.c:1734:9: danger: ‘cookie.fp’ leaks here; was allocated at [(16)](sarif:/runs/0/results/9/codeFlows/0/threadFlows/0/locations/15)
# 1732|   	vimrc_found(fname_exp, (char_u *)"MYVIMRC");
# 1733|       else if (is_vimrc == DOSO_GVIMRC)
# 1734|-> 	vimrc_found(fname_exp, (char_u *)"MYGVIMRC");
# 1735|   
# 1736|   #ifdef USE_CRNL

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/scriptfile.c:1746:25: warning[-Wanalyzer-malloc-leak]: leak of ‘cookie.fp’
vim91/src/scriptfile.c:1584:1: enter_function: entry to ‘do_source_ext’
vim91/src/scriptfile.c:1618:8: branch_false: following ‘false’ branch (when ‘fname’ is non-NULL)...
vim91/src/scriptfile.c:1627:27: branch_false: ...to here
vim91/src/scriptfile.c:1628:12: branch_false: following ‘false’ branch...
vim91/src/scriptfile.c:1630:21: branch_false: ...to here
vim91/src/scriptfile.c:1631:12: branch_false: following ‘false’ branch...
vim91/src/scriptfile.c:1633:13: branch_false: ...to here
vim91/src/scriptfile.c:1633:12: branch_false: following ‘false’ branch...
vim91/src/scriptfile.c:1640:5: branch_false: ...to here
vim91/src/scriptfile.c:1674:8: branch_true: following ‘true’ branch...
vim91/src/scriptfile.c:1677:21: branch_true: ...to here
vim91/src/scriptfile.c:1677:21: call_function: calling ‘fopen_noinh_readbin’ from ‘do_source_ext’
vim91/src/scriptfile.c:1677:21: return_function: returning to ‘do_source_ext’ from ‘fopen_noinh_readbin’
vim91/src/scriptfile.c:1682:8: branch_false: following ‘false’ branch...
vim91/src/scriptfile.c:1704:9: branch_false: ...to here
vim91/src/scriptfile.c:1704:8: branch_false: following ‘false’ branch...
vim91/src/scriptfile.c:1722:9: branch_false: ...to here
vim91/src/scriptfile.c:1746:25: danger: ‘cookie.fp’ leaks here; was allocated at [(16)](sarif:/runs/0/results/10/codeFlows/0/threadFlows/0/locations/15)
# 1744|   #ifdef FEAT_EVAL
# 1745|       // Check if this script has a breakpoint.
# 1746|->     cookie.breakpoint = dbg_find_breakpoint(TRUE, fname_exp, (linenr_T)0);
# 1747|       cookie.fname = fname_exp;
# 1748|       cookie.dbg_tick = debug_tick;

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/scriptfile.c:1755:9: warning[-Wanalyzer-malloc-leak]: leak of ‘cookie.fp’
vim91/src/scriptfile.c:1584:1: enter_function: entry to ‘do_source_ext’
vim91/src/scriptfile.c:1618:8: branch_false: following ‘false’ branch (when ‘fname’ is non-NULL)...
vim91/src/scriptfile.c:1627:27: branch_false: ...to here
vim91/src/scriptfile.c:1628:12: branch_false: following ‘false’ branch...
vim91/src/scriptfile.c:1630:21: branch_false: ...to here
vim91/src/scriptfile.c:1631:12: branch_false: following ‘false’ branch...
vim91/src/scriptfile.c:1633:13: branch_false: ...to here
vim91/src/scriptfile.c:1633:12: branch_false: following ‘false’ branch...
vim91/src/scriptfile.c:1640:5: branch_false: ...to here
vim91/src/scriptfile.c:1674:8: branch_true: following ‘true’ branch...
vim91/src/scriptfile.c:1677:21: branch_true: ...to here
vim91/src/scriptfile.c:1677:21: call_function: calling ‘fopen_noinh_readbin’ from ‘do_source_ext’
vim91/src/scriptfile.c:1677:21: return_function: returning to ‘do_source_ext’ from ‘fopen_noinh_readbin’
vim91/src/scriptfile.c:1682:8: branch_false: following ‘false’ branch...
vim91/src/scriptfile.c:1704:9: branch_false: ...to here
vim91/src/scriptfile.c:1704:8: branch_false: following ‘false’ branch...
vim91/src/scriptfile.c:1722:9: branch_false: ...to here
vim91/src/scriptfile.c:1754:8: branch_true: following ‘true’ branch...
vim91/src/scriptfile.c:1755:9: branch_true: ...to here
vim91/src/scriptfile.c:1755:9: danger: ‘cookie.fp’ leaks here; was allocated at [(16)](sarif:/runs/0/results/11/codeFlows/0/threadFlows/0/locations/15)
# 1753|   #ifdef STARTUPTIME
# 1754|       if (time_fd != NULL)
# 1755|-> 	time_push(&tv_rel, &tv_start);
# 1756|   #endif
# 1757|   

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/scriptfile.c:1774:9: warning[-Wanalyzer-malloc-leak]: leak of ‘cookie.fp’
vim91/src/scriptfile.c:1584:1: enter_function: entry to ‘do_source_ext’
vim91/src/scriptfile.c:1618:8: branch_false: following ‘false’ branch (when ‘fname’ is non-NULL)...
vim91/src/scriptfile.c:1627:27: branch_false: ...to here
vim91/src/scriptfile.c:1628:12: branch_false: following ‘false’ branch...
vim91/src/scriptfile.c:1630:21: branch_false: ...to here
vim91/src/scriptfile.c:1631:12: branch_false: following ‘false’ branch...
vim91/src/scriptfile.c:1633:13: branch_false: ...to here
vim91/src/scriptfile.c:1633:12: branch_false: following ‘false’ branch...
vim91/src/scriptfile.c:1640:5: branch_false: ...to here
vim91/src/scriptfile.c:1674:8: branch_true: following ‘true’ branch...
vim91/src/scriptfile.c:1677:21: branch_true: ...to here
vim91/src/scriptfile.c:1677:21: call_function: calling ‘fopen_noinh_readbin’ from ‘do_source_ext’
vim91/src/scriptfile.c:1677:21: return_function: returning to ‘do_source_ext’ from ‘fopen_noinh_readbin’
vim91/src/scriptfile.c:1682:8: branch_false: following ‘false’ branch...
vim91/src/scriptfile.c:1704:9: branch_false: ...to here
vim91/src/scriptfile.c:1704:8: branch_false: following ‘false’ branch...
vim91/src/scriptfile.c:1722:9: branch_false: ...to here
vim91/src/scriptfile.c:1773:8: branch_true: following ‘true’ branch...
vim91/src/scriptfile.c:1774:9: branch_true: ...to here
vim91/src/scriptfile.c:1774:9: danger: ‘cookie.fp’ leaks here; was allocated at [(16)](sarif:/runs/0/results/12/codeFlows/0/threadFlows/0/locations/15)
# 1772|   # ifdef FEAT_PROFILE
# 1773|       if (do_profiling == PROF_YES)
# 1774|-> 	prof_child_enter(&wait_start);		// entering a child now
# 1775|   # endif
# 1776|   

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/scriptfile.c:1779:5: warning[-Wanalyzer-malloc-leak]: leak of ‘cookie.fp’
vim91/src/scriptfile.c:1584:1: enter_function: entry to ‘do_source_ext’
vim91/src/scriptfile.c:1618:8: branch_false: following ‘false’ branch (when ‘fname’ is non-NULL)...
vim91/src/scriptfile.c:1627:27: branch_false: ...to here
vim91/src/scriptfile.c:1628:12: branch_false: following ‘false’ branch...
vim91/src/scriptfile.c:1630:21: branch_false: ...to here
vim91/src/scriptfile.c:1631:12: branch_false: following ‘false’ branch...
vim91/src/scriptfile.c:1633:13: branch_false: ...to here
vim91/src/scriptfile.c:1633:12: branch_false: following ‘false’ branch...
vim91/src/scriptfile.c:1640:5: branch_false: ...to here
vim91/src/scriptfile.c:1674:8: branch_true: following ‘true’ branch...
vim91/src/scriptfile.c:1677:21: branch_true: ...to here
vim91/src/scriptfile.c:1677:21: call_function: calling ‘fopen_noinh_readbin’ from ‘do_source_ext’
vim91/src/scriptfile.c:1677:21: return_function: returning to ‘do_source_ext’ from ‘fopen_noinh_readbin’
vim91/src/scriptfile.c:1682:8: branch_false: following ‘false’ branch...
vim91/src/scriptfile.c:1704:9: branch_false: ...to here
vim91/src/scriptfile.c:1704:8: branch_false: following ‘false’ branch...
vim91/src/scriptfile.c:1722:9: branch_false: ...to here
vim91/src/scriptfile.c:1779:5: danger: ‘cookie.fp’ leaks here; was allocated at [(16)](sarif:/runs/0/results/13/codeFlows/0/threadFlows/0/locations/15)
# 1777|       // Don't use local function variables, if called from a function.
# 1778|       // Also starts profiling timer for nested script.
# 1779|->     save_funccal(&funccalp_entry);
# 1780|   
# 1781|       // Reset "KeyTyped" to avoid some commands thinking they are invoked

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

Error: CPPCHECK_WARNING (CWE-457):
vim91/src/search.c:2865: warning[uninitvar]: Uninitialized variable: vcol
# 2863|   
# 2864|       int col_visible = (curwin->w_p_wrap
# 2865|-> 	    || (vcol >= curwin->w_leftcol
# 2866|   		&& vcol < curwin->w_leftcol + curwin->w_width));
# 2867|       if (!col_visible)

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

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

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

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

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

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

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/spellfile.c:2227:5: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(fname, "r")’
vim91/src/spellfile.c:6195:1: enter_function: entry to ‘spell_add_word’
vim91/src/spellfile.c:6213:8: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6219:8: branch_false: ...to here
vim91/src/spellfile.c:6219:8: branch_false: following ‘false’ branch (when ‘idx != 0’)...
vim91/src/spellfile.c:6232:20: branch_false: ...to here
vim91/src/spellfile.c:6232:12: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6238:20: branch_false: ...to here
vim91/src/spellfile.c:6238:12: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6243:20: branch_false: ...to here
vim91/src/spellfile.c:6244:12: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6247:26: branch_false: ...to here
vim91/src/spellfile.c:6262:12: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6271:9: branch_false: ...to here
vim91/src/spellfile.c:6274:8: branch_true: following ‘true’ branch...
vim91/src/spellfile.c:6278:14: branch_true: ...to here
vim91/src/spellfile.c:6279:12: branch_true: following ‘true’ branch...
<unknown>: branch_true: ...to here
vim91/src/spellfile.c:6314:16: branch_true: following ‘true’ branch (when ‘fd’ is non-NULL)...
vim91/src/spellfile.c:6315:17: branch_true: ...to here
vim91/src/spellfile.c:6319:8: branch_false: following ‘false’ branch (when ‘undo != 0’)...
vim91/src/spellfile.c:6360:8: branch_false: ...to here
vim91/src/spellfile.c:6360:8: branch_true: following ‘true’ branch (when ‘fd’ is non-NULL)...
vim91/src/spellfile.c:6363:9: branch_true: ...to here
vim91/src/spellfile.c:6363:9: call_function: calling ‘mkspell’ from ‘spell_add_word’
# 2225|       }
# 2226|   
# 2227|->     vim_snprintf((char *)IObuff, IOSIZE, _("Reading affix file %s..."), fname);
# 2228|       spell_message(spin, IObuff);
# 2229|   

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/spellfile.c:2227:5: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(fname, "r")’
vim91/src/spellfile.c:6195:1: enter_function: entry to ‘spell_add_word’
vim91/src/spellfile.c:6213:8: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6219:8: branch_false: ...to here
vim91/src/spellfile.c:6219:8: branch_false: following ‘false’ branch (when ‘idx != 0’)...
vim91/src/spellfile.c:6232:20: branch_false: ...to here
vim91/src/spellfile.c:6232:12: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6238:20: branch_false: ...to here
vim91/src/spellfile.c:6238:12: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6243:20: branch_false: ...to here
vim91/src/spellfile.c:6244:12: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6247:26: branch_false: ...to here
vim91/src/spellfile.c:6262:12: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6271:9: branch_false: ...to here
vim91/src/spellfile.c:6274:8: branch_true: following ‘true’ branch...
vim91/src/spellfile.c:6278:14: branch_true: ...to here
vim91/src/spellfile.c:6279:12: branch_true: following ‘true’ branch...
<unknown>: branch_true: ...to here
vim91/src/spellfile.c:6314:16: branch_true: following ‘true’ branch (when ‘fd’ is non-NULL)...
vim91/src/spellfile.c:6315:17: branch_true: ...to here
vim91/src/spellfile.c:6319:8: branch_false: following ‘false’ branch (when ‘undo != 0’)...
vim91/src/spellfile.c:6360:8: branch_false: ...to here
vim91/src/spellfile.c:6360:8: branch_true: following ‘true’ branch (when ‘fd’ is non-NULL)...
vim91/src/spellfile.c:6363:9: branch_true: ...to here
vim91/src/spellfile.c:6363:9: call_function: calling ‘mkspell’ from ‘spell_add_word’
# 2225|       }
# 2226|   
# 2227|->     vim_snprintf((char *)IObuff, IOSIZE, _("Reading affix file %s..."), fname);
# 2228|       spell_message(spin, IObuff);
# 2229|   

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/spellfile.c:2251:5: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(fname, "r")’
vim91/src/spellfile.c:6195:1: enter_function: entry to ‘spell_add_word’
vim91/src/spellfile.c:6213:8: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6219:8: branch_false: ...to here
vim91/src/spellfile.c:6219:8: branch_false: following ‘false’ branch (when ‘idx != 0’)...
vim91/src/spellfile.c:6232:20: branch_false: ...to here
vim91/src/spellfile.c:6232:12: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6238:20: branch_false: ...to here
vim91/src/spellfile.c:6238:12: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6243:20: branch_false: ...to here
vim91/src/spellfile.c:6244:12: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6247:26: branch_false: ...to here
vim91/src/spellfile.c:6262:12: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6271:9: branch_false: ...to here
vim91/src/spellfile.c:6274:8: branch_true: following ‘true’ branch...
vim91/src/spellfile.c:6278:14: branch_true: ...to here
vim91/src/spellfile.c:6279:12: branch_true: following ‘true’ branch...
<unknown>: branch_true: ...to here
vim91/src/spellfile.c:6314:16: branch_true: following ‘true’ branch (when ‘fd’ is non-NULL)...
vim91/src/spellfile.c:6315:17: branch_true: ...to here
vim91/src/spellfile.c:6319:8: branch_false: following ‘false’ branch (when ‘undo != 0’)...
vim91/src/spellfile.c:6360:8: branch_false: ...to here
vim91/src/spellfile.c:6360:8: branch_true: following ‘true’ branch (when ‘fd’ is non-NULL)...
vim91/src/spellfile.c:6363:9: branch_true: ...to here
vim91/src/spellfile.c:6363:9: call_function: calling ‘mkspell’ from ‘spell_add_word’
# 2249|   	return NULL;
# 2250|       }
# 2251|->     hash_init(&aff->af_pref);
# 2252|       hash_init(&aff->af_suff);
# 2253|       hash_init(&aff->af_comp);

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/spellfile.c:2251:5: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(fname, "r")’
vim91/src/spellfile.c:6195:1: enter_function: entry to ‘spell_add_word’
vim91/src/spellfile.c:6213:8: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6219:8: branch_false: ...to here
vim91/src/spellfile.c:6219:8: branch_false: following ‘false’ branch (when ‘idx != 0’)...
vim91/src/spellfile.c:6232:20: branch_false: ...to here
vim91/src/spellfile.c:6232:12: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6238:20: branch_false: ...to here
vim91/src/spellfile.c:6238:12: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6243:20: branch_false: ...to here
vim91/src/spellfile.c:6244:12: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6247:26: branch_false: ...to here
vim91/src/spellfile.c:6262:12: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6271:9: branch_false: ...to here
vim91/src/spellfile.c:6274:8: branch_true: following ‘true’ branch...
vim91/src/spellfile.c:6278:14: branch_true: ...to here
vim91/src/spellfile.c:6279:12: branch_true: following ‘true’ branch...
<unknown>: branch_true: ...to here
vim91/src/spellfile.c:6314:16: branch_true: following ‘true’ branch (when ‘fd’ is non-NULL)...
vim91/src/spellfile.c:6315:17: branch_true: ...to here
vim91/src/spellfile.c:6319:8: branch_false: following ‘false’ branch (when ‘undo != 0’)...
vim91/src/spellfile.c:6360:8: branch_false: ...to here
vim91/src/spellfile.c:6360:8: branch_true: following ‘true’ branch (when ‘fd’ is non-NULL)...
vim91/src/spellfile.c:6363:9: branch_true: ...to here
vim91/src/spellfile.c:6363:9: call_function: calling ‘mkspell’ from ‘spell_add_word’
# 2249|   	return NULL;
# 2250|       }
# 2251|->     hash_init(&aff->af_pref);
# 2252|       hash_init(&aff->af_suff);
# 2253|       hash_init(&aff->af_comp);

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/spellfile.c:2252:5: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(fname, "r")’
vim91/src/spellfile.c:6195:1: enter_function: entry to ‘spell_add_word’
vim91/src/spellfile.c:6213:8: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6219:8: branch_false: ...to here
vim91/src/spellfile.c:6219:8: branch_false: following ‘false’ branch (when ‘idx != 0’)...
vim91/src/spellfile.c:6232:20: branch_false: ...to here
vim91/src/spellfile.c:6232:12: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6238:20: branch_false: ...to here
vim91/src/spellfile.c:6238:12: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6243:20: branch_false: ...to here
vim91/src/spellfile.c:6244:12: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6247:26: branch_false: ...to here
vim91/src/spellfile.c:6262:12: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6271:9: branch_false: ...to here
vim91/src/spellfile.c:6274:8: branch_true: following ‘true’ branch...
vim91/src/spellfile.c:6278:14: branch_true: ...to here
vim91/src/spellfile.c:6279:12: branch_true: following ‘true’ branch...
<unknown>: branch_true: ...to here
vim91/src/spellfile.c:6314:16: branch_true: following ‘true’ branch (when ‘fd’ is non-NULL)...
vim91/src/spellfile.c:6315:17: branch_true: ...to here
vim91/src/spellfile.c:6319:8: branch_false: following ‘false’ branch (when ‘undo != 0’)...
vim91/src/spellfile.c:6360:8: branch_false: ...to here
vim91/src/spellfile.c:6360:8: branch_true: following ‘true’ branch (when ‘fd’ is non-NULL)...
vim91/src/spellfile.c:6363:9: branch_true: ...to here
vim91/src/spellfile.c:6363:9: call_function: calling ‘mkspell’ from ‘spell_add_word’
# 2250|       }
# 2251|       hash_init(&aff->af_pref);
# 2252|->     hash_init(&aff->af_suff);
# 2253|       hash_init(&aff->af_comp);
# 2254|   

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/spellfile.c:2252:5: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(fname, "r")’
vim91/src/spellfile.c:6195:1: enter_function: entry to ‘spell_add_word’
vim91/src/spellfile.c:6213:8: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6219:8: branch_false: ...to here
vim91/src/spellfile.c:6219:8: branch_false: following ‘false’ branch (when ‘idx != 0’)...
vim91/src/spellfile.c:6232:20: branch_false: ...to here
vim91/src/spellfile.c:6232:12: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6238:20: branch_false: ...to here
vim91/src/spellfile.c:6238:12: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6243:20: branch_false: ...to here
vim91/src/spellfile.c:6244:12: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6247:26: branch_false: ...to here
vim91/src/spellfile.c:6262:12: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6271:9: branch_false: ...to here
vim91/src/spellfile.c:6274:8: branch_true: following ‘true’ branch...
vim91/src/spellfile.c:6278:14: branch_true: ...to here
vim91/src/spellfile.c:6279:12: branch_true: following ‘true’ branch...
<unknown>: branch_true: ...to here
vim91/src/spellfile.c:6314:16: branch_true: following ‘true’ branch (when ‘fd’ is non-NULL)...
vim91/src/spellfile.c:6315:17: branch_true: ...to here
vim91/src/spellfile.c:6319:8: branch_false: following ‘false’ branch (when ‘undo != 0’)...
vim91/src/spellfile.c:6360:8: branch_false: ...to here
vim91/src/spellfile.c:6360:8: branch_true: following ‘true’ branch (when ‘fd’ is non-NULL)...
vim91/src/spellfile.c:6363:9: branch_true: ...to here
vim91/src/spellfile.c:6363:9: call_function: calling ‘mkspell’ from ‘spell_add_word’
# 2250|       }
# 2251|       hash_init(&aff->af_pref);
# 2252|->     hash_init(&aff->af_suff);
# 2253|       hash_init(&aff->af_comp);
# 2254|   

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/spellfile.c:4105:5: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(fname, "r")’
vim91/src/spellfile.c:6195:1: enter_function: entry to ‘spell_add_word’
vim91/src/spellfile.c:6213:8: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6219:8: branch_false: ...to here
vim91/src/spellfile.c:6219:8: branch_false: following ‘false’ branch (when ‘idx != 0’)...
vim91/src/spellfile.c:6232:20: branch_false: ...to here
vim91/src/spellfile.c:6232:12: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6238:20: branch_false: ...to here
vim91/src/spellfile.c:6238:12: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6243:20: branch_false: ...to here
vim91/src/spellfile.c:6244:12: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6247:26: branch_false: ...to here
vim91/src/spellfile.c:6262:12: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6271:9: branch_false: ...to here
vim91/src/spellfile.c:6274:8: branch_true: following ‘true’ branch...
vim91/src/spellfile.c:6278:14: branch_true: ...to here
vim91/src/spellfile.c:6279:12: branch_true: following ‘true’ branch...
<unknown>: branch_true: ...to here
vim91/src/spellfile.c:6314:16: branch_true: following ‘true’ branch (when ‘fd’ is non-NULL)...
vim91/src/spellfile.c:6315:17: branch_true: ...to here
vim91/src/spellfile.c:6319:8: branch_false: following ‘false’ branch (when ‘undo != 0’)...
vim91/src/spellfile.c:6360:8: branch_false: ...to here
vim91/src/spellfile.c:6360:8: branch_true: following ‘true’ branch (when ‘fd’ is non-NULL)...
vim91/src/spellfile.c:6363:9: branch_true: ...to here
vim91/src/spellfile.c:6363:9: call_function: calling ‘mkspell’ from ‘spell_add_word’
# 4103|       }
# 4104|   
# 4105|->     vim_snprintf((char *)IObuff, IOSIZE, _("Reading word file %s..."), fname);
# 4106|       spell_message(spin, IObuff);
# 4107|   

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/spellfile.c:4105:5: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(fname, "r")’
vim91/src/spellfile.c:6195:1: enter_function: entry to ‘spell_add_word’
vim91/src/spellfile.c:6213:8: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6219:8: branch_false: ...to here
vim91/src/spellfile.c:6219:8: branch_false: following ‘false’ branch (when ‘idx != 0’)...
vim91/src/spellfile.c:6232:20: branch_false: ...to here
vim91/src/spellfile.c:6232:12: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6238:20: branch_false: ...to here
vim91/src/spellfile.c:6238:12: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6243:20: branch_false: ...to here
vim91/src/spellfile.c:6244:12: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6247:26: branch_false: ...to here
vim91/src/spellfile.c:6262:12: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6271:9: branch_false: ...to here
vim91/src/spellfile.c:6274:8: branch_true: following ‘true’ branch...
vim91/src/spellfile.c:6278:14: branch_true: ...to here
vim91/src/spellfile.c:6279:12: branch_true: following ‘true’ branch...
<unknown>: branch_true: ...to here
vim91/src/spellfile.c:6314:16: branch_true: following ‘true’ branch (when ‘fd’ is non-NULL)...
vim91/src/spellfile.c:6315:17: branch_true: ...to here
vim91/src/spellfile.c:6319:8: branch_false: following ‘false’ branch (when ‘undo != 0’)...
vim91/src/spellfile.c:6360:8: branch_false: ...to here
vim91/src/spellfile.c:6360:8: branch_true: following ‘true’ branch (when ‘fd’ is non-NULL)...
vim91/src/spellfile.c:6363:9: branch_true: ...to here
vim91/src/spellfile.c:6363:9: call_function: calling ‘mkspell’ from ‘spell_add_word’
# 4103|       }
# 4104|   
# 4105|->     vim_snprintf((char *)IObuff, IOSIZE, _("Reading word file %s..."), fname);
# 4106|       spell_message(spin, IObuff);
# 4107|   

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/spellfile.c:4111:13: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(fname, "r")’
vim91/src/spellfile.c:6195:1: enter_function: entry to ‘spell_add_word’
vim91/src/spellfile.c:6213:8: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6219:8: branch_false: ...to here
vim91/src/spellfile.c:6219:8: branch_false: following ‘false’ branch (when ‘idx != 0’)...
vim91/src/spellfile.c:6232:20: branch_false: ...to here
vim91/src/spellfile.c:6232:12: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6238:20: branch_false: ...to here
vim91/src/spellfile.c:6238:12: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6243:20: branch_false: ...to here
vim91/src/spellfile.c:6244:12: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6247:26: branch_false: ...to here
vim91/src/spellfile.c:6262:12: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6271:9: branch_false: ...to here
vim91/src/spellfile.c:6274:8: branch_true: following ‘true’ branch...
vim91/src/spellfile.c:6278:14: branch_true: ...to here
vim91/src/spellfile.c:6279:12: branch_true: following ‘true’ branch...
<unknown>: branch_true: ...to here
vim91/src/spellfile.c:6314:16: branch_true: following ‘true’ branch (when ‘fd’ is non-NULL)...
vim91/src/spellfile.c:6315:17: branch_true: ...to here
vim91/src/spellfile.c:6319:8: branch_false: following ‘false’ branch (when ‘undo != 0’)...
vim91/src/spellfile.c:6360:8: branch_false: ...to here
vim91/src/spellfile.c:6360:8: branch_true: following ‘true’ branch (when ‘fd’ is non-NULL)...
vim91/src/spellfile.c:6363:9: branch_true: ...to here
vim91/src/spellfile.c:6363:9: call_function: calling ‘mkspell’ from ‘spell_add_word’
# 4109|        * Read all the lines in the file one by one.
# 4110|        */
# 4111|->     while (!vim_fgets(rline, MAXLINELEN, fd) && !got_int)
# 4112|       {
# 4113|   	line_breakcheck();

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/spellfile.c:4111:13: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(fname, "r")’
vim91/src/spellfile.c:6195:1: enter_function: entry to ‘spell_add_word’
vim91/src/spellfile.c:6213:8: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6219:8: branch_false: ...to here
vim91/src/spellfile.c:6219:8: branch_false: following ‘false’ branch (when ‘idx != 0’)...
vim91/src/spellfile.c:6232:20: branch_false: ...to here
vim91/src/spellfile.c:6232:12: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6238:20: branch_false: ...to here
vim91/src/spellfile.c:6238:12: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6243:20: branch_false: ...to here
vim91/src/spellfile.c:6244:12: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6247:26: branch_false: ...to here
vim91/src/spellfile.c:6262:12: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6271:9: branch_false: ...to here
vim91/src/spellfile.c:6274:8: branch_true: following ‘true’ branch...
vim91/src/spellfile.c:6278:14: branch_true: ...to here
vim91/src/spellfile.c:6279:12: branch_true: following ‘true’ branch...
<unknown>: branch_true: ...to here
vim91/src/spellfile.c:6314:16: branch_true: following ‘true’ branch (when ‘fd’ is non-NULL)...
vim91/src/spellfile.c:6315:17: branch_true: ...to here
vim91/src/spellfile.c:6319:8: branch_false: following ‘false’ branch (when ‘undo != 0’)...
vim91/src/spellfile.c:6360:8: branch_false: ...to here
vim91/src/spellfile.c:6360:8: branch_true: following ‘true’ branch (when ‘fd’ is non-NULL)...
vim91/src/spellfile.c:6363:9: branch_true: ...to here
vim91/src/spellfile.c:6363:9: call_function: calling ‘mkspell’ from ‘spell_add_word’
# 4109|        * Read all the lines in the file one by one.
# 4110|        */
# 4111|->     while (!vim_fgets(rline, MAXLINELEN, fd) && !got_int)
# 4112|       {
# 4113|   	line_breakcheck();

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/spellfile.c:4302:18: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(fname, "r")’
vim91/src/spellfile.c:6195:1: enter_function: entry to ‘spell_add_word’
vim91/src/spellfile.c:6213:8: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6219:8: branch_false: ...to here
vim91/src/spellfile.c:6219:8: branch_false: following ‘false’ branch (when ‘idx != 0’)...
vim91/src/spellfile.c:6232:20: branch_false: ...to here
vim91/src/spellfile.c:6232:12: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6238:20: branch_false: ...to here
vim91/src/spellfile.c:6238:12: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6243:20: branch_false: ...to here
vim91/src/spellfile.c:6244:12: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6247:26: branch_false: ...to here
vim91/src/spellfile.c:6262:12: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6271:9: branch_false: ...to here
vim91/src/spellfile.c:6274:8: branch_true: following ‘true’ branch...
vim91/src/spellfile.c:6278:14: branch_true: ...to here
vim91/src/spellfile.c:6279:12: branch_true: following ‘true’ branch...
<unknown>: branch_true: ...to here
vim91/src/spellfile.c:6314:16: branch_true: following ‘true’ branch (when ‘fd’ is non-NULL)...
vim91/src/spellfile.c:6315:17: branch_true: ...to here
vim91/src/spellfile.c:6319:8: branch_false: following ‘false’ branch (when ‘undo != 0’)...
vim91/src/spellfile.c:6360:8: branch_false: ...to here
vim91/src/spellfile.c:6360:8: branch_true: following ‘true’ branch (when ‘fd’ is non-NULL)...
vim91/src/spellfile.c:6363:9: branch_true: ...to here
vim91/src/spellfile.c:6363:9: call_function: calling ‘mkspell’ from ‘spell_add_word’
# 4300|   	else
# 4301|   	    // Allocate a block of memory. It is not freed until much later.
# 4302|-> 	    bl = alloc_clear(offsetof(sblock_T, sb_data) + SBLOCKSIZE + 1);
# 4303|   	if (bl == NULL)
# 4304|   	{

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/spellfile.c:4302:18: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(fname, "r")’
vim91/src/spellfile.c:6195:1: enter_function: entry to ‘spell_add_word’
vim91/src/spellfile.c:6213:8: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6219:8: branch_false: ...to here
vim91/src/spellfile.c:6219:8: branch_false: following ‘false’ branch (when ‘idx != 0’)...
vim91/src/spellfile.c:6232:20: branch_false: ...to here
vim91/src/spellfile.c:6232:12: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6238:20: branch_false: ...to here
vim91/src/spellfile.c:6238:12: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6243:20: branch_false: ...to here
vim91/src/spellfile.c:6244:12: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6247:26: branch_false: ...to here
vim91/src/spellfile.c:6262:12: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6271:9: branch_false: ...to here
vim91/src/spellfile.c:6274:8: branch_true: following ‘true’ branch...
vim91/src/spellfile.c:6278:14: branch_true: ...to here
vim91/src/spellfile.c:6279:12: branch_true: following ‘true’ branch...
<unknown>: branch_true: ...to here
vim91/src/spellfile.c:6314:16: branch_true: following ‘true’ branch (when ‘fd’ is non-NULL)...
vim91/src/spellfile.c:6315:17: branch_true: ...to here
vim91/src/spellfile.c:6319:8: branch_false: following ‘false’ branch (when ‘undo != 0’)...
vim91/src/spellfile.c:6360:8: branch_false: ...to here
vim91/src/spellfile.c:6360:8: branch_true: following ‘true’ branch (when ‘fd’ is non-NULL)...
vim91/src/spellfile.c:6363:9: branch_true: ...to here
vim91/src/spellfile.c:6363:9: call_function: calling ‘mkspell’ from ‘spell_add_word’
# 4300|   	else
# 4301|   	    // Allocate a block of memory. It is not freed until much later.
# 4302|-> 	    bl = alloc_clear(offsetof(sblock_T, sb_data) + SBLOCKSIZE + 1);
# 4303|   	if (bl == NULL)
# 4304|   	{

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/spellfile.c:4307:17: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(fname, "r")’
vim91/src/spellfile.c:6195:1: enter_function: entry to ‘spell_add_word’
vim91/src/spellfile.c:6213:8: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6219:8: branch_false: ...to here
vim91/src/spellfile.c:6219:8: branch_false: following ‘false’ branch (when ‘idx != 0’)...
vim91/src/spellfile.c:6232:20: branch_false: ...to here
vim91/src/spellfile.c:6232:12: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6238:20: branch_false: ...to here
vim91/src/spellfile.c:6238:12: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6243:20: branch_false: ...to here
vim91/src/spellfile.c:6244:12: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6247:26: branch_false: ...to here
vim91/src/spellfile.c:6262:12: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6271:9: branch_false: ...to here
vim91/src/spellfile.c:6274:8: branch_true: following ‘true’ branch...
vim91/src/spellfile.c:6278:14: branch_true: ...to here
vim91/src/spellfile.c:6279:12: branch_true: following ‘true’ branch...
<unknown>: branch_true: ...to here
vim91/src/spellfile.c:6314:16: branch_true: following ‘true’ branch (when ‘fd’ is non-NULL)...
vim91/src/spellfile.c:6315:17: branch_true: ...to here
vim91/src/spellfile.c:6319:8: branch_false: following ‘false’ branch (when ‘undo != 0’)...
vim91/src/spellfile.c:6360:8: branch_false: ...to here
vim91/src/spellfile.c:6360:8: branch_true: following ‘true’ branch (when ‘fd’ is non-NULL)...
vim91/src/spellfile.c:6363:9: branch_true: ...to here
vim91/src/spellfile.c:6363:9: call_function: calling ‘mkspell’ from ‘spell_add_word’
# 4305|   	    if (!spin->si_did_emsg)
# 4306|   	    {
# 4307|-> 		emsg(_(e_insufficient_memory_word_list_will_be_incomplete));
# 4308|   		spin->si_did_emsg = TRUE;
# 4309|   	    }

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/spellfile.c:4307:17: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(fname, "r")’
vim91/src/spellfile.c:6195:1: enter_function: entry to ‘spell_add_word’
vim91/src/spellfile.c:6213:8: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6219:8: branch_false: ...to here
vim91/src/spellfile.c:6219:8: branch_false: following ‘false’ branch (when ‘idx != 0’)...
vim91/src/spellfile.c:6232:20: branch_false: ...to here
vim91/src/spellfile.c:6232:12: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6238:20: branch_false: ...to here
vim91/src/spellfile.c:6238:12: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6243:20: branch_false: ...to here
vim91/src/spellfile.c:6244:12: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6247:26: branch_false: ...to here
vim91/src/spellfile.c:6262:12: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6271:9: branch_false: ...to here
vim91/src/spellfile.c:6274:8: branch_true: following ‘true’ branch...
vim91/src/spellfile.c:6278:14: branch_true: ...to here
vim91/src/spellfile.c:6279:12: branch_true: following ‘true’ branch...
<unknown>: branch_true: ...to here
vim91/src/spellfile.c:6314:16: branch_true: following ‘true’ branch (when ‘fd’ is non-NULL)...
vim91/src/spellfile.c:6315:17: branch_true: ...to here
vim91/src/spellfile.c:6319:8: branch_false: following ‘false’ branch (when ‘undo != 0’)...
vim91/src/spellfile.c:6360:8: branch_false: ...to here
vim91/src/spellfile.c:6360:8: branch_true: following ‘true’ branch (when ‘fd’ is non-NULL)...
vim91/src/spellfile.c:6363:9: branch_true: ...to here
vim91/src/spellfile.c:6363:9: call_function: calling ‘mkspell’ from ‘spell_add_word’
# 4305|   	    if (!spin->si_did_emsg)
# 4306|   	    {
# 4307|-> 		emsg(_(e_insufficient_memory_word_list_will_be_incomplete));
# 4308|   		spin->si_did_emsg = TRUE;
# 4309|   	    }

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

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/spellfile.c:6167:13: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(fname, "r")’
vim91/src/spellfile.c:6195:1: enter_function: entry to ‘spell_add_word’
vim91/src/spellfile.c:6213:8: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6219:8: branch_false: ...to here
vim91/src/spellfile.c:6219:8: branch_false: following ‘false’ branch (when ‘idx != 0’)...
vim91/src/spellfile.c:6232:20: branch_false: ...to here
vim91/src/spellfile.c:6232:12: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6238:20: branch_false: ...to here
vim91/src/spellfile.c:6238:12: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6243:20: branch_false: ...to here
vim91/src/spellfile.c:6244:12: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6247:26: branch_false: ...to here
vim91/src/spellfile.c:6262:12: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6271:9: branch_false: ...to here
vim91/src/spellfile.c:6274:8: branch_true: following ‘true’ branch...
vim91/src/spellfile.c:6278:14: branch_true: ...to here
vim91/src/spellfile.c:6279:12: branch_true: following ‘true’ branch...
<unknown>: branch_true: ...to here
vim91/src/spellfile.c:6314:16: branch_true: following ‘true’ branch (when ‘fd’ is non-NULL)...
vim91/src/spellfile.c:6315:17: branch_true: ...to here
vim91/src/spellfile.c:6319:8: branch_false: following ‘false’ branch (when ‘undo != 0’)...
vim91/src/spellfile.c:6360:8: branch_false: ...to here
vim91/src/spellfile.c:6360:8: branch_true: following ‘true’ branch (when ‘fd’ is non-NULL)...
vim91/src/spellfile.c:6363:9: branch_true: ...to here
vim91/src/spellfile.c:6363:9: call_function: calling ‘mkspell’ from ‘spell_add_word’
# 6165|       {
# 6166|   	if (!spin->si_verbose)
# 6167|-> 	    verbose_enter();
# 6168|   	msg((char *)str);
# 6169|   	out_flush();

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/spellfile.c:6167:13: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(fname, "r")’
vim91/src/spellfile.c:6195:1: enter_function: entry to ‘spell_add_word’
vim91/src/spellfile.c:6213:8: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6219:8: branch_false: ...to here
vim91/src/spellfile.c:6219:8: branch_false: following ‘false’ branch (when ‘idx != 0’)...
vim91/src/spellfile.c:6232:20: branch_false: ...to here
vim91/src/spellfile.c:6232:12: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6238:20: branch_false: ...to here
vim91/src/spellfile.c:6238:12: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6243:20: branch_false: ...to here
vim91/src/spellfile.c:6244:12: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6247:26: branch_false: ...to here
vim91/src/spellfile.c:6262:12: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6271:9: branch_false: ...to here
vim91/src/spellfile.c:6274:8: branch_true: following ‘true’ branch...
vim91/src/spellfile.c:6278:14: branch_true: ...to here
vim91/src/spellfile.c:6279:12: branch_true: following ‘true’ branch...
<unknown>: branch_true: ...to here
vim91/src/spellfile.c:6314:16: branch_true: following ‘true’ branch (when ‘fd’ is non-NULL)...
vim91/src/spellfile.c:6315:17: branch_true: ...to here
vim91/src/spellfile.c:6319:8: branch_false: following ‘false’ branch (when ‘undo != 0’)...
vim91/src/spellfile.c:6360:8: branch_false: ...to here
vim91/src/spellfile.c:6360:8: branch_true: following ‘true’ branch (when ‘fd’ is non-NULL)...
vim91/src/spellfile.c:6363:9: branch_true: ...to here
vim91/src/spellfile.c:6363:9: call_function: calling ‘mkspell’ from ‘spell_add_word’
# 6165|       {
# 6166|   	if (!spin->si_verbose)
# 6167|-> 	    verbose_enter();
# 6168|   	msg((char *)str);
# 6169|   	out_flush();

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/spellfile.c:6168:9: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(fname, "r")’
vim91/src/spellfile.c:6195:1: enter_function: entry to ‘spell_add_word’
vim91/src/spellfile.c:6213:8: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6219:8: branch_false: ...to here
vim91/src/spellfile.c:6219:8: branch_false: following ‘false’ branch (when ‘idx != 0’)...
vim91/src/spellfile.c:6232:20: branch_false: ...to here
vim91/src/spellfile.c:6232:12: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6238:20: branch_false: ...to here
vim91/src/spellfile.c:6238:12: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6243:20: branch_false: ...to here
vim91/src/spellfile.c:6244:12: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6247:26: branch_false: ...to here
vim91/src/spellfile.c:6262:12: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6271:9: branch_false: ...to here
vim91/src/spellfile.c:6274:8: branch_true: following ‘true’ branch...
vim91/src/spellfile.c:6278:14: branch_true: ...to here
vim91/src/spellfile.c:6279:12: branch_true: following ‘true’ branch...
<unknown>: branch_true: ...to here
vim91/src/spellfile.c:6314:16: branch_true: following ‘true’ branch (when ‘fd’ is non-NULL)...
vim91/src/spellfile.c:6315:17: branch_true: ...to here
vim91/src/spellfile.c:6319:8: branch_false: following ‘false’ branch (when ‘undo != 0’)...
vim91/src/spellfile.c:6360:8: branch_false: ...to here
vim91/src/spellfile.c:6360:8: branch_true: following ‘true’ branch (when ‘fd’ is non-NULL)...
vim91/src/spellfile.c:6363:9: branch_true: ...to here
vim91/src/spellfile.c:6363:9: call_function: calling ‘mkspell’ from ‘spell_add_word’
# 6166|   	if (!spin->si_verbose)
# 6167|   	    verbose_enter();
# 6168|-> 	msg((char *)str);
# 6169|   	out_flush();
# 6170|   	if (!spin->si_verbose)

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/spellfile.c:6168:9: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(fname, "r")’
vim91/src/spellfile.c:6195:1: enter_function: entry to ‘spell_add_word’
vim91/src/spellfile.c:6213:8: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6219:8: branch_false: ...to here
vim91/src/spellfile.c:6219:8: branch_false: following ‘false’ branch (when ‘idx != 0’)...
vim91/src/spellfile.c:6232:20: branch_false: ...to here
vim91/src/spellfile.c:6232:12: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6238:20: branch_false: ...to here
vim91/src/spellfile.c:6238:12: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6243:20: branch_false: ...to here
vim91/src/spellfile.c:6244:12: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6247:26: branch_false: ...to here
vim91/src/spellfile.c:6262:12: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6271:9: branch_false: ...to here
vim91/src/spellfile.c:6274:8: branch_true: following ‘true’ branch...
vim91/src/spellfile.c:6278:14: branch_true: ...to here
vim91/src/spellfile.c:6279:12: branch_true: following ‘true’ branch...
<unknown>: branch_true: ...to here
vim91/src/spellfile.c:6314:16: branch_true: following ‘true’ branch (when ‘fd’ is non-NULL)...
vim91/src/spellfile.c:6315:17: branch_true: ...to here
vim91/src/spellfile.c:6319:8: branch_false: following ‘false’ branch (when ‘undo != 0’)...
vim91/src/spellfile.c:6360:8: branch_false: ...to here
vim91/src/spellfile.c:6360:8: branch_true: following ‘true’ branch (when ‘fd’ is non-NULL)...
vim91/src/spellfile.c:6363:9: branch_true: ...to here
vim91/src/spellfile.c:6363:9: call_function: calling ‘mkspell’ from ‘spell_add_word’
# 6166|   	if (!spin->si_verbose)
# 6167|   	    verbose_enter();
# 6168|-> 	msg((char *)str);
# 6169|   	out_flush();
# 6170|   	if (!spin->si_verbose)

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/spellfile.c:6169:9: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(fname, "r")’
vim91/src/spellfile.c:6195:1: enter_function: entry to ‘spell_add_word’
vim91/src/spellfile.c:6213:8: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6219:8: branch_false: ...to here
vim91/src/spellfile.c:6219:8: branch_false: following ‘false’ branch (when ‘idx != 0’)...
vim91/src/spellfile.c:6232:20: branch_false: ...to here
vim91/src/spellfile.c:6232:12: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6238:20: branch_false: ...to here
vim91/src/spellfile.c:6238:12: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6243:20: branch_false: ...to here
vim91/src/spellfile.c:6244:12: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6247:26: branch_false: ...to here
vim91/src/spellfile.c:6262:12: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6271:9: branch_false: ...to here
vim91/src/spellfile.c:6274:8: branch_true: following ‘true’ branch...
vim91/src/spellfile.c:6278:14: branch_true: ...to here
vim91/src/spellfile.c:6279:12: branch_true: following ‘true’ branch...
<unknown>: branch_true: ...to here
vim91/src/spellfile.c:6314:16: branch_true: following ‘true’ branch (when ‘fd’ is non-NULL)...
vim91/src/spellfile.c:6315:17: branch_true: ...to here
vim91/src/spellfile.c:6319:8: branch_false: following ‘false’ branch (when ‘undo != 0’)...
vim91/src/spellfile.c:6360:8: branch_false: ...to here
vim91/src/spellfile.c:6360:8: branch_true: following ‘true’ branch (when ‘fd’ is non-NULL)...
vim91/src/spellfile.c:6363:9: branch_true: ...to here
vim91/src/spellfile.c:6363:9: call_function: calling ‘mkspell’ from ‘spell_add_word’
# 6167|   	    verbose_enter();
# 6168|   	msg((char *)str);
# 6169|-> 	out_flush();
# 6170|   	if (!spin->si_verbose)
# 6171|   	    verbose_leave();

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/spellfile.c:6169:9: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(fname, "r")’
vim91/src/spellfile.c:6195:1: enter_function: entry to ‘spell_add_word’
vim91/src/spellfile.c:6213:8: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6219:8: branch_false: ...to here
vim91/src/spellfile.c:6219:8: branch_false: following ‘false’ branch (when ‘idx != 0’)...
vim91/src/spellfile.c:6232:20: branch_false: ...to here
vim91/src/spellfile.c:6232:12: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6238:20: branch_false: ...to here
vim91/src/spellfile.c:6238:12: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6243:20: branch_false: ...to here
vim91/src/spellfile.c:6244:12: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6247:26: branch_false: ...to here
vim91/src/spellfile.c:6262:12: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6271:9: branch_false: ...to here
vim91/src/spellfile.c:6274:8: branch_true: following ‘true’ branch...
vim91/src/spellfile.c:6278:14: branch_true: ...to here
vim91/src/spellfile.c:6279:12: branch_true: following ‘true’ branch...
<unknown>: branch_true: ...to here
vim91/src/spellfile.c:6314:16: branch_true: following ‘true’ branch (when ‘fd’ is non-NULL)...
vim91/src/spellfile.c:6315:17: branch_true: ...to here
vim91/src/spellfile.c:6319:8: branch_false: following ‘false’ branch (when ‘undo != 0’)...
vim91/src/spellfile.c:6360:8: branch_false: ...to here
vim91/src/spellfile.c:6360:8: branch_true: following ‘true’ branch (when ‘fd’ is non-NULL)...
vim91/src/spellfile.c:6363:9: branch_true: ...to here
vim91/src/spellfile.c:6363:9: call_function: calling ‘mkspell’ from ‘spell_add_word’
# 6167|   	    verbose_enter();
# 6168|   	msg((char *)str);
# 6169|-> 	out_flush();
# 6170|   	if (!spin->si_verbose)
# 6171|   	    verbose_leave();

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/spellfile.c:6171:13: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(fname, "r")’
vim91/src/spellfile.c:6195:1: enter_function: entry to ‘spell_add_word’
vim91/src/spellfile.c:6213:8: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6219:8: branch_false: ...to here
vim91/src/spellfile.c:6219:8: branch_false: following ‘false’ branch (when ‘idx != 0’)...
vim91/src/spellfile.c:6232:20: branch_false: ...to here
vim91/src/spellfile.c:6232:12: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6238:20: branch_false: ...to here
vim91/src/spellfile.c:6238:12: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6243:20: branch_false: ...to here
vim91/src/spellfile.c:6244:12: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6247:26: branch_false: ...to here
vim91/src/spellfile.c:6262:12: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6271:9: branch_false: ...to here
vim91/src/spellfile.c:6274:8: branch_true: following ‘true’ branch...
vim91/src/spellfile.c:6278:14: branch_true: ...to here
vim91/src/spellfile.c:6279:12: branch_true: following ‘true’ branch...
<unknown>: branch_true: ...to here
vim91/src/spellfile.c:6314:16: branch_true: following ‘true’ branch (when ‘fd’ is non-NULL)...
vim91/src/spellfile.c:6315:17: branch_true: ...to here
vim91/src/spellfile.c:6319:8: branch_false: following ‘false’ branch (when ‘undo != 0’)...
vim91/src/spellfile.c:6360:8: branch_false: ...to here
vim91/src/spellfile.c:6360:8: branch_true: following ‘true’ branch (when ‘fd’ is non-NULL)...
vim91/src/spellfile.c:6363:9: branch_true: ...to here
vim91/src/spellfile.c:6363:9: call_function: calling ‘mkspell’ from ‘spell_add_word’
# 6169|   	out_flush();
# 6170|   	if (!spin->si_verbose)
# 6171|-> 	    verbose_leave();
# 6172|       }
# 6173|   }

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/spellfile.c:6171:13: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(fname, "r")’
vim91/src/spellfile.c:6195:1: enter_function: entry to ‘spell_add_word’
vim91/src/spellfile.c:6213:8: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6219:8: branch_false: ...to here
vim91/src/spellfile.c:6219:8: branch_false: following ‘false’ branch (when ‘idx != 0’)...
vim91/src/spellfile.c:6232:20: branch_false: ...to here
vim91/src/spellfile.c:6232:12: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6238:20: branch_false: ...to here
vim91/src/spellfile.c:6238:12: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6243:20: branch_false: ...to here
vim91/src/spellfile.c:6244:12: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6247:26: branch_false: ...to here
vim91/src/spellfile.c:6262:12: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6271:9: branch_false: ...to here
vim91/src/spellfile.c:6274:8: branch_true: following ‘true’ branch...
vim91/src/spellfile.c:6278:14: branch_true: ...to here
vim91/src/spellfile.c:6279:12: branch_true: following ‘true’ branch...
<unknown>: branch_true: ...to here
vim91/src/spellfile.c:6314:16: branch_true: following ‘true’ branch (when ‘fd’ is non-NULL)...
vim91/src/spellfile.c:6315:17: branch_true: ...to here
vim91/src/spellfile.c:6319:8: branch_false: following ‘false’ branch (when ‘undo != 0’)...
vim91/src/spellfile.c:6360:8: branch_false: ...to here
vim91/src/spellfile.c:6360:8: branch_true: following ‘true’ branch (when ‘fd’ is non-NULL)...
vim91/src/spellfile.c:6363:9: branch_true: ...to here
vim91/src/spellfile.c:6363:9: call_function: calling ‘mkspell’ from ‘spell_add_word’
# 6169|   	out_flush();
# 6170|   	if (!spin->si_verbose)
# 6171|-> 	    verbose_leave();
# 6172|       }
# 6173|   }

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/spellfile.c:6281:21: warning[-Wanalyzer-file-leak]: leak of FILE ‘fd’
vim91/src/spellfile.c:6213:8: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6219:8: branch_false: ...to here
vim91/src/spellfile.c:6219:8: branch_true: following ‘true’ branch (when ‘idx == 0’)...
vim91/src/spellfile.c:6221:13: branch_true: ...to here
vim91/src/spellfile.c:6274:8: branch_true: following ‘true’ branch...
vim91/src/spellfile.c:6278:14: branch_true: ...to here
vim91/src/spellfile.c:6278:14: acquire_resource: opened here
vim91/src/spellfile.c:6279:12: branch_true: following ‘true’ branch...
<unknown>: branch_true: ...to here
vim91/src/spellfile.c:6281:21: danger: ‘fd’ leaks here; was opened at [(7)](sarif:/runs/0/results/30/codeFlows/0/threadFlows/0/locations/6)
# 6279|   	if (fd != NULL)
# 6280|   	{
# 6281|-> 	    while (!vim_fgets(line, MAXWLEN * 2, fd))
# 6282|   	    {
# 6283|   		fpos = fpos_next;

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/spellfile.c:6281:21: warning[-Wanalyzer-malloc-leak]: leak of ‘fd’
vim91/src/spellfile.c:6213:8: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6219:8: branch_false: ...to here
vim91/src/spellfile.c:6219:8: branch_true: following ‘true’ branch (when ‘idx == 0’)...
vim91/src/spellfile.c:6221:13: branch_true: ...to here
vim91/src/spellfile.c:6274:8: branch_true: following ‘true’ branch...
vim91/src/spellfile.c:6278:14: branch_true: ...to here
vim91/src/spellfile.c:6278:14: acquire_memory: allocated here
vim91/src/spellfile.c:6279:12: branch_true: following ‘true’ branch...
<unknown>: branch_true: ...to here
vim91/src/spellfile.c:6281:21: danger: ‘fd’ leaks here; was allocated at [(7)](sarif:/runs/0/results/31/codeFlows/0/threadFlows/0/locations/6)
# 6279|   	if (fd != NULL)
# 6280|   	{
# 6281|-> 	    while (!vim_fgets(line, MAXWLEN * 2, fd))
# 6282|   	    {
# 6283|   		fpos = fpos_next;

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/spellfile.c:6297:25: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(fname, "r+")’
vim91/src/spellfile.c:6213:8: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6219:8: branch_false: ...to here
vim91/src/spellfile.c:6219:8: branch_true: following ‘true’ branch (when ‘idx == 0’)...
vim91/src/spellfile.c:6221:13: branch_true: ...to here
vim91/src/spellfile.c:6274:8: branch_true: following ‘true’ branch...
vim91/src/spellfile.c:6278:14: branch_true: ...to here
vim91/src/spellfile.c:6279:12: branch_true: following ‘true’ branch...
<unknown>: branch_true: ...to here
vim91/src/spellfile.c:6281:20: branch_true: following ‘true’ branch...
vim91/src/spellfile.c:6284:29: branch_true: ...to here
vim91/src/spellfile.c:6285:20: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6287:21: branch_false: ...to here
vim91/src/spellfile.c:6287:20: branch_true: following ‘true’ branch...
vim91/src/spellfile.c:6288:29: branch_true: ...to here
vim91/src/spellfile.c:6287:21: branch_true: following ‘true’ branch...
vim91/src/spellfile.c:6293:21: branch_true: ...to here
vim91/src/spellfile.c:6294:26: acquire_resource: opened here
vim91/src/spellfile.c:6295:24: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6297:25: branch_false: ...to here
vim91/src/spellfile.c:6297:25: danger: ‘fopen(fname, "r+")’ leaks here; was opened at [(17)](sarif:/runs/0/results/32/codeFlows/0/threadFlows/0/locations/16)
# 6295|   		    if (fd == NULL)
# 6296|   			break;
# 6297|-> 		    if (fseek(fd, fpos, SEEK_SET) == 0)
# 6298|   		    {
# 6299|   			fputc('#', fd);

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/spellfile.c:6297:25: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(fname, "r+")’
vim91/src/spellfile.c:6213:8: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6219:8: branch_false: ...to here
vim91/src/spellfile.c:6219:8: branch_true: following ‘true’ branch (when ‘idx == 0’)...
vim91/src/spellfile.c:6221:13: branch_true: ...to here
vim91/src/spellfile.c:6274:8: branch_true: following ‘true’ branch...
vim91/src/spellfile.c:6278:14: branch_true: ...to here
vim91/src/spellfile.c:6279:12: branch_true: following ‘true’ branch...
<unknown>: branch_true: ...to here
vim91/src/spellfile.c:6281:20: branch_true: following ‘true’ branch...
vim91/src/spellfile.c:6284:29: branch_true: ...to here
vim91/src/spellfile.c:6285:20: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6287:21: branch_false: ...to here
vim91/src/spellfile.c:6287:20: branch_true: following ‘true’ branch...
vim91/src/spellfile.c:6288:29: branch_true: ...to here
vim91/src/spellfile.c:6287:21: branch_true: following ‘true’ branch...
vim91/src/spellfile.c:6293:21: branch_true: ...to here
vim91/src/spellfile.c:6294:26: acquire_memory: allocated here
vim91/src/spellfile.c:6295:24: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6297:25: branch_false: ...to here
vim91/src/spellfile.c:6297:25: danger: ‘fopen(fname, "r+")’ leaks here; was allocated at [(17)](sarif:/runs/0/results/33/codeFlows/0/threadFlows/0/locations/16)
# 6295|   		    if (fd == NULL)
# 6296|   			break;
# 6297|-> 		    if (fseek(fd, fpos, SEEK_SET) == 0)
# 6298|   		    {
# 6299|   			fputc('#', fd);

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/spellfile.c:6302:29: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(fname, "r+")’
vim91/src/spellfile.c:6213:8: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6219:8: branch_false: ...to here
vim91/src/spellfile.c:6219:8: branch_true: following ‘true’ branch (when ‘idx == 0’)...
vim91/src/spellfile.c:6221:13: branch_true: ...to here
vim91/src/spellfile.c:6274:8: branch_true: following ‘true’ branch...
vim91/src/spellfile.c:6278:14: branch_true: ...to here
vim91/src/spellfile.c:6279:12: branch_true: following ‘true’ branch...
<unknown>: branch_true: ...to here
vim91/src/spellfile.c:6281:20: branch_true: following ‘true’ branch...
vim91/src/spellfile.c:6284:29: branch_true: ...to here
vim91/src/spellfile.c:6285:20: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6287:21: branch_false: ...to here
vim91/src/spellfile.c:6287:20: branch_true: following ‘true’ branch...
vim91/src/spellfile.c:6288:29: branch_true: ...to here
vim91/src/spellfile.c:6287:21: branch_true: following ‘true’ branch...
vim91/src/spellfile.c:6293:21: branch_true: ...to here
vim91/src/spellfile.c:6294:26: acquire_resource: opened here
vim91/src/spellfile.c:6295:24: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6297:25: branch_false: ...to here
vim91/src/spellfile.c:6297:24: branch_true: following ‘true’ branch...
vim91/src/spellfile.c:6299:25: branch_true: ...to here
vim91/src/spellfile.c:6300:28: branch_true: following ‘true’ branch (when ‘undo != 0’)...
vim91/src/spellfile.c:6302:29: branch_true: ...to here
vim91/src/spellfile.c:6302:29: danger: ‘fopen(fname, "r+")’ leaks here; was opened at [(17)](sarif:/runs/0/results/34/codeFlows/0/threadFlows/0/locations/16)
# 6300|   			if (undo)
# 6301|   			{
# 6302|-> 			    home_replace(NULL, fname, NameBuff, MAXPATHL, TRUE);
# 6303|   			    smsg(_("Word '%.*s' removed from %s"),
# 6304|   							 len, word, NameBuff);

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/spellfile.c:6302:29: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(fname, "r+")’
vim91/src/spellfile.c:6213:8: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6219:8: branch_false: ...to here
vim91/src/spellfile.c:6219:8: branch_true: following ‘true’ branch (when ‘idx == 0’)...
vim91/src/spellfile.c:6221:13: branch_true: ...to here
vim91/src/spellfile.c:6274:8: branch_true: following ‘true’ branch...
vim91/src/spellfile.c:6278:14: branch_true: ...to here
vim91/src/spellfile.c:6279:12: branch_true: following ‘true’ branch...
<unknown>: branch_true: ...to here
vim91/src/spellfile.c:6281:20: branch_true: following ‘true’ branch...
vim91/src/spellfile.c:6284:29: branch_true: ...to here
vim91/src/spellfile.c:6285:20: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6287:21: branch_false: ...to here
vim91/src/spellfile.c:6287:20: branch_true: following ‘true’ branch...
vim91/src/spellfile.c:6288:29: branch_true: ...to here
vim91/src/spellfile.c:6287:21: branch_true: following ‘true’ branch...
vim91/src/spellfile.c:6293:21: branch_true: ...to here
vim91/src/spellfile.c:6294:26: acquire_memory: allocated here
vim91/src/spellfile.c:6295:24: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6297:25: branch_false: ...to here
vim91/src/spellfile.c:6297:24: branch_true: following ‘true’ branch...
vim91/src/spellfile.c:6299:25: branch_true: ...to here
vim91/src/spellfile.c:6300:28: branch_true: following ‘true’ branch (when ‘undo != 0’)...
vim91/src/spellfile.c:6302:29: branch_true: ...to here
vim91/src/spellfile.c:6302:29: danger: ‘fopen(fname, "r+")’ leaks here; was allocated at [(17)](sarif:/runs/0/results/35/codeFlows/0/threadFlows/0/locations/16)
# 6300|   			if (undo)
# 6301|   			{
# 6302|-> 			    home_replace(NULL, fname, NameBuff, MAXPATHL, TRUE);
# 6303|   			    smsg(_("Word '%.*s' removed from %s"),
# 6304|   							 len, word, NameBuff);

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/spellfile.c:6303:29: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(fname, "r+")’
vim91/src/spellfile.c:6213:8: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6219:8: branch_false: ...to here
vim91/src/spellfile.c:6219:8: branch_true: following ‘true’ branch (when ‘idx == 0’)...
vim91/src/spellfile.c:6221:13: branch_true: ...to here
vim91/src/spellfile.c:6274:8: branch_true: following ‘true’ branch...
vim91/src/spellfile.c:6278:14: branch_true: ...to here
vim91/src/spellfile.c:6279:12: branch_true: following ‘true’ branch...
<unknown>: branch_true: ...to here
vim91/src/spellfile.c:6281:20: branch_true: following ‘true’ branch...
vim91/src/spellfile.c:6284:29: branch_true: ...to here
vim91/src/spellfile.c:6285:20: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6287:21: branch_false: ...to here
vim91/src/spellfile.c:6287:20: branch_true: following ‘true’ branch...
vim91/src/spellfile.c:6288:29: branch_true: ...to here
vim91/src/spellfile.c:6287:21: branch_true: following ‘true’ branch...
vim91/src/spellfile.c:6293:21: branch_true: ...to here
vim91/src/spellfile.c:6294:26: acquire_resource: opened here
vim91/src/spellfile.c:6295:24: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6297:25: branch_false: ...to here
vim91/src/spellfile.c:6297:24: branch_true: following ‘true’ branch...
vim91/src/spellfile.c:6299:25: branch_true: ...to here
vim91/src/spellfile.c:6300:28: branch_true: following ‘true’ branch (when ‘undo != 0’)...
vim91/src/spellfile.c:6302:29: branch_true: ...to here
vim91/src/spellfile.c:6303:29: danger: ‘fopen(fname, "r+")’ leaks here; was opened at [(17)](sarif:/runs/0/results/36/codeFlows/0/threadFlows/0/locations/16)
# 6301|   			{
# 6302|   			    home_replace(NULL, fname, NameBuff, MAXPATHL, TRUE);
# 6303|-> 			    smsg(_("Word '%.*s' removed from %s"),
# 6304|   							 len, word, NameBuff);
# 6305|   			}

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/spellfile.c:6303:29: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(fname, "r+")’
vim91/src/spellfile.c:6213:8: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6219:8: branch_false: ...to here
vim91/src/spellfile.c:6219:8: branch_true: following ‘true’ branch (when ‘idx == 0’)...
vim91/src/spellfile.c:6221:13: branch_true: ...to here
vim91/src/spellfile.c:6274:8: branch_true: following ‘true’ branch...
vim91/src/spellfile.c:6278:14: branch_true: ...to here
vim91/src/spellfile.c:6279:12: branch_true: following ‘true’ branch...
<unknown>: branch_true: ...to here
vim91/src/spellfile.c:6281:20: branch_true: following ‘true’ branch...
vim91/src/spellfile.c:6284:29: branch_true: ...to here
vim91/src/spellfile.c:6285:20: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6287:21: branch_false: ...to here
vim91/src/spellfile.c:6287:20: branch_true: following ‘true’ branch...
vim91/src/spellfile.c:6288:29: branch_true: ...to here
vim91/src/spellfile.c:6287:21: branch_true: following ‘true’ branch...
vim91/src/spellfile.c:6293:21: branch_true: ...to here
vim91/src/spellfile.c:6294:26: acquire_memory: allocated here
vim91/src/spellfile.c:6295:24: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6297:25: branch_false: ...to here
vim91/src/spellfile.c:6297:24: branch_true: following ‘true’ branch...
vim91/src/spellfile.c:6299:25: branch_true: ...to here
vim91/src/spellfile.c:6300:28: branch_true: following ‘true’ branch (when ‘undo != 0’)...
vim91/src/spellfile.c:6302:29: branch_true: ...to here
vim91/src/spellfile.c:6303:29: danger: ‘fopen(fname, "r+")’ leaks here; was allocated at [(17)](sarif:/runs/0/results/37/codeFlows/0/threadFlows/0/locations/16)
# 6301|   			{
# 6302|   			    home_replace(NULL, fname, NameBuff, MAXPATHL, TRUE);
# 6303|-> 			    smsg(_("Word '%.*s' removed from %s"),
# 6304|   							 len, word, NameBuff);
# 6305|   			}

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/spellfile.c:6307:25: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(fname, "r+")’
vim91/src/spellfile.c:6213:8: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6219:8: branch_false: ...to here
vim91/src/spellfile.c:6219:8: branch_true: following ‘true’ branch (when ‘idx == 0’)...
vim91/src/spellfile.c:6221:13: branch_true: ...to here
vim91/src/spellfile.c:6274:8: branch_true: following ‘true’ branch...
vim91/src/spellfile.c:6278:14: branch_true: ...to here
vim91/src/spellfile.c:6279:12: branch_true: following ‘true’ branch...
<unknown>: branch_true: ...to here
vim91/src/spellfile.c:6281:20: branch_true: following ‘true’ branch...
vim91/src/spellfile.c:6284:29: branch_true: ...to here
vim91/src/spellfile.c:6285:20: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6287:21: branch_false: ...to here
vim91/src/spellfile.c:6287:20: branch_true: following ‘true’ branch...
vim91/src/spellfile.c:6288:29: branch_true: ...to here
vim91/src/spellfile.c:6287:21: branch_true: following ‘true’ branch...
vim91/src/spellfile.c:6293:21: branch_true: ...to here
vim91/src/spellfile.c:6294:26: acquire_resource: opened here
vim91/src/spellfile.c:6295:24: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6297:25: branch_false: ...to here
vim91/src/spellfile.c:6307:25: danger: ‘fopen(fname, "r+")’ leaks here; was opened at [(17)](sarif:/runs/0/results/38/codeFlows/0/threadFlows/0/locations/16)
# 6305|   			}
# 6306|   		    }
# 6307|-> 		    if (fseek(fd, fpos_next, SEEK_SET) != 0)
# 6308|   		    {
# 6309|   			PERROR(_("Seek error in spellfile"));

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/spellfile.c:6307:25: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(fname, "r+")’
vim91/src/spellfile.c:6213:8: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6219:8: branch_false: ...to here
vim91/src/spellfile.c:6219:8: branch_true: following ‘true’ branch (when ‘idx == 0’)...
vim91/src/spellfile.c:6221:13: branch_true: ...to here
vim91/src/spellfile.c:6274:8: branch_true: following ‘true’ branch...
vim91/src/spellfile.c:6278:14: branch_true: ...to here
vim91/src/spellfile.c:6279:12: branch_true: following ‘true’ branch...
<unknown>: branch_true: ...to here
vim91/src/spellfile.c:6281:20: branch_true: following ‘true’ branch...
vim91/src/spellfile.c:6284:29: branch_true: ...to here
vim91/src/spellfile.c:6285:20: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6287:21: branch_false: ...to here
vim91/src/spellfile.c:6287:20: branch_true: following ‘true’ branch...
vim91/src/spellfile.c:6288:29: branch_true: ...to here
vim91/src/spellfile.c:6287:21: branch_true: following ‘true’ branch...
vim91/src/spellfile.c:6293:21: branch_true: ...to here
vim91/src/spellfile.c:6294:26: acquire_memory: allocated here
vim91/src/spellfile.c:6295:24: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6297:25: branch_false: ...to here
vim91/src/spellfile.c:6307:25: danger: ‘fopen(fname, "r+")’ leaks here; was allocated at [(17)](sarif:/runs/0/results/39/codeFlows/0/threadFlows/0/locations/16)
# 6305|   			}
# 6306|   		    }
# 6307|-> 		    if (fseek(fd, fpos_next, SEEK_SET) != 0)
# 6308|   		    {
# 6309|   			PERROR(_("Seek error in spellfile"));

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/spellfile.c:6309:25: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(fname, "r+")’
vim91/src/spellfile.c:6213:8: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6219:8: branch_false: ...to here
vim91/src/spellfile.c:6219:8: branch_true: following ‘true’ branch (when ‘idx == 0’)...
vim91/src/spellfile.c:6221:13: branch_true: ...to here
vim91/src/spellfile.c:6274:8: branch_true: following ‘true’ branch...
vim91/src/spellfile.c:6278:14: branch_true: ...to here
vim91/src/spellfile.c:6279:12: branch_true: following ‘true’ branch...
<unknown>: branch_true: ...to here
vim91/src/spellfile.c:6281:20: branch_true: following ‘true’ branch...
vim91/src/spellfile.c:6284:29: branch_true: ...to here
vim91/src/spellfile.c:6285:20: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6287:21: branch_false: ...to here
vim91/src/spellfile.c:6287:20: branch_true: following ‘true’ branch...
vim91/src/spellfile.c:6288:29: branch_true: ...to here
vim91/src/spellfile.c:6287:21: branch_true: following ‘true’ branch...
vim91/src/spellfile.c:6293:21: branch_true: ...to here
vim91/src/spellfile.c:6294:26: acquire_resource: opened here
vim91/src/spellfile.c:6295:24: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6297:25: branch_false: ...to here
vim91/src/spellfile.c:6307:24: branch_true: following ‘true’ branch...
vim91/src/spellfile.c:6309:25: branch_true: ...to here
vim91/src/spellfile.c:6309:25: danger: ‘fopen(fname, "r+")’ leaks here; was opened at [(17)](sarif:/runs/0/results/40/codeFlows/0/threadFlows/0/locations/16)
# 6307|   		    if (fseek(fd, fpos_next, SEEK_SET) != 0)
# 6308|   		    {
# 6309|-> 			PERROR(_("Seek error in spellfile"));
# 6310|   			break;
# 6311|   		    }

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/spellfile.c:6309:25: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(fname, "r+")’
vim91/src/spellfile.c:6213:8: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6219:8: branch_false: ...to here
vim91/src/spellfile.c:6219:8: branch_true: following ‘true’ branch (when ‘idx == 0’)...
vim91/src/spellfile.c:6221:13: branch_true: ...to here
vim91/src/spellfile.c:6274:8: branch_true: following ‘true’ branch...
vim91/src/spellfile.c:6278:14: branch_true: ...to here
vim91/src/spellfile.c:6279:12: branch_true: following ‘true’ branch...
<unknown>: branch_true: ...to here
vim91/src/spellfile.c:6281:20: branch_true: following ‘true’ branch...
vim91/src/spellfile.c:6284:29: branch_true: ...to here
vim91/src/spellfile.c:6285:20: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6287:21: branch_false: ...to here
vim91/src/spellfile.c:6287:20: branch_true: following ‘true’ branch...
vim91/src/spellfile.c:6288:29: branch_true: ...to here
vim91/src/spellfile.c:6287:21: branch_true: following ‘true’ branch...
vim91/src/spellfile.c:6293:21: branch_true: ...to here
vim91/src/spellfile.c:6294:26: acquire_memory: allocated here
vim91/src/spellfile.c:6295:24: branch_false: following ‘false’ branch...
vim91/src/spellfile.c:6297:25: branch_false: ...to here
vim91/src/spellfile.c:6307:24: branch_true: following ‘true’ branch...
vim91/src/spellfile.c:6309:25: branch_true: ...to here
vim91/src/spellfile.c:6309:25: danger: ‘fopen(fname, "r+")’ leaks here; was allocated at [(17)](sarif:/runs/0/results/41/codeFlows/0/threadFlows/0/locations/16)
# 6307|   		    if (fseek(fd, fpos_next, SEEK_SET) != 0)
# 6308|   		    {
# 6309|-> 			PERROR(_("Seek error in spellfile"));
# 6310|   			break;
# 6311|   		    }

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

Error: GCC_ANALYZER_WARNING (CWE-457):
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:3322:16: branch_false: following ‘false’ branch...
vim91/src/spellsuggest.c:3330:26: 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:
vim91/src/strings.c: warning: -D_FORTIFY_SOURCE defined but value is too low

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

Error: GCC_ANALYZER_WARNING (CWE-457):
vim91/src/syntax.c:2686:9: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value ‘endpos.lnum’
vim91/src/syntax.c:6487:1: enter_function: entry to ‘syn_get_id’
vim91/src/syntax.c:6497:8: branch_false: following ‘false’ branch...
vim91/src/syntax.c:6498:16: branch_false: ...to here
vim91/src/syntax.c:6497:9: branch_false: following ‘false’ branch...
vim91/src/syntax.c:6499:16: branch_false: ...to here
vim91/src/syntax.c:6497:9: branch_false: following ‘false’ branch...
vim91/src/syntax.c:6500:16: branch_false: ...to here
vim91/src/syntax.c:6497:9: branch_false: following ‘false’ branch...
vim91/src/syntax.c:6502:14: branch_false: ...to here
vim91/src/syntax.c:6509:11: call_function: calling ‘get_syntax_attr’ from ‘syn_get_id’
# 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:
vim91/src/tabpanel.c: warning: -D_FORTIFY_SOURCE defined but value is too low

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

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

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

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/terminal.c:348:5: warning[-Wanalyzer-file-leak]: leak of FILE ‘fd2’
vim91/src/terminal.c:5690:1: enter_function: entry to ‘term_load_dump’
vim91/src/terminal.c:5705:8: branch_true: following ‘true’ branch (when ‘do_diff != 0’)...
vim91/src/terminal.c:5706:18: branch_true: ...to here
vim91/src/terminal.c:5707:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5713:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5718:8: branch_false: ...to here
vim91/src/terminal.c:5718:8: branch_true: following ‘true’ branch (when ‘do_diff != 0’)...
vim91/src/terminal.c:5720:15: branch_true: ...to here
vim91/src/terminal.c:5720:15: acquire_resource: opened here
vim91/src/terminal.c:5721:12: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5729:5: call_function: inlined call to ‘init_job_options’ from ‘term_load_dump’
#  346|   init_job_options(jobopt_T *opt)
#  347|   {
#  348|->     clear_job_options(opt);
#  349|   
#  350|       opt->jo_mode = CH_MODE_RAW;

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/terminal.c:348:5: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(tv_get_string_buf_chk(argvars, & buf1), "r")’
vim91/src/terminal.c:5690:1: enter_function: entry to ‘term_load_dump’
vim91/src/terminal.c:5705:8: branch_false: following ‘false’ branch (when ‘do_diff == 0’)...
vim91/src/terminal.c:5707:8: branch_false: ...to here
vim91/src/terminal.c:5707:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5712:11: acquire_resource: opened here
vim91/src/terminal.c:5713:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5718:8: branch_false: ...to here
vim91/src/terminal.c:5718:8: branch_false: following ‘false’ branch (when ‘do_diff == 0’)...
vim91/src/terminal.c:5729:5: call_function: inlined call to ‘init_job_options’ from ‘term_load_dump’
#  346|   init_job_options(jobopt_T *opt)
#  347|   {
#  348|->     clear_job_options(opt);
#  349|   
#  350|       opt->jo_mode = CH_MODE_RAW;

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/terminal.c:348:5: warning[-Wanalyzer-malloc-leak]: leak of ‘fd2’
vim91/src/terminal.c:5690:1: enter_function: entry to ‘term_load_dump’
vim91/src/terminal.c:5705:8: branch_true: following ‘true’ branch (when ‘do_diff != 0’)...
vim91/src/terminal.c:5706:18: branch_true: ...to here
vim91/src/terminal.c:5707:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5713:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5718:8: branch_false: ...to here
vim91/src/terminal.c:5718:8: branch_true: following ‘true’ branch (when ‘do_diff != 0’)...
vim91/src/terminal.c:5720:15: branch_true: ...to here
vim91/src/terminal.c:5720:15: acquire_memory: allocated here
vim91/src/terminal.c:5721:12: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5729:5: call_function: inlined call to ‘init_job_options’ from ‘term_load_dump’
#  346|   init_job_options(jobopt_T *opt)
#  347|   {
#  348|->     clear_job_options(opt);
#  349|   
#  350|       opt->jo_mode = CH_MODE_RAW;

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/terminal.c:348:5: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(tv_get_string_buf_chk(argvars, & buf1), "r")’
vim91/src/terminal.c:5690:1: enter_function: entry to ‘term_load_dump’
vim91/src/terminal.c:5705:8: branch_false: following ‘false’ branch (when ‘do_diff == 0’)...
vim91/src/terminal.c:5707:8: branch_false: ...to here
vim91/src/terminal.c:5707:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5712:11: acquire_memory: allocated here
vim91/src/terminal.c:5713:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5718:8: branch_false: ...to here
vim91/src/terminal.c:5718:8: branch_false: following ‘false’ branch (when ‘do_diff == 0’)...
vim91/src/terminal.c:5729:5: call_function: inlined call to ‘init_job_options’ from ‘term_load_dump’
#  346|   init_job_options(jobopt_T *opt)
#  347|   {
#  348|->     clear_job_options(opt);
#  349|   
#  350|       opt->jo_mode = CH_MODE_RAW;

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/terminal.c:451:9: warning[-Wanalyzer-file-leak]: leak of FILE ‘fd2’
vim91/src/terminal.c:6063:1: enter_function: entry to ‘f_term_dumpdiff’
vim91/src/terminal.c:6071:5: call_function: calling ‘term_load_dump’ from ‘f_term_dumpdiff’
#  449|       pos_T	save_cursor;
#  450|   
#  451|->     if (check_restricted() || check_secure())
#  452|   	return NULL;
#  453|       if (cmdwin_type != 0)

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/terminal.c:451:9: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(tv_get_string_buf_chk(argvars, & buf1), "r")’
vim91/src/terminal.c:5690:1: enter_function: entry to ‘term_load_dump’
vim91/src/terminal.c:5705:8: branch_false: following ‘false’ branch (when ‘do_diff == 0’)...
vim91/src/terminal.c:5707:8: branch_false: ...to here
vim91/src/terminal.c:5707:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5712:11: acquire_resource: opened here
vim91/src/terminal.c:5713:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5718:8: branch_false: ...to here
vim91/src/terminal.c:5718:8: branch_false: following ‘false’ branch (when ‘do_diff == 0’)...
vim91/src/terminal.c:5729:5: call_function: inlined call to ‘init_job_options’ from ‘term_load_dump’
vim91/src/terminal.c:5730:16: branch_false: following ‘false’ branch (when ‘do_diff == 0’)...
<unknown>: branch_false: ...to here
vim91/src/terminal.c:5730:9: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5736:9: branch_false: ...to here
vim91/src/terminal.c:5748:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5767:15: branch_false: ...to here
vim91/src/terminal.c:5767:15: call_function: calling ‘term_start’ from ‘term_load_dump’
#  449|       pos_T	save_cursor;
#  450|   
#  451|->     if (check_restricted() || check_secure())
#  452|   	return NULL;
#  453|       if (cmdwin_type != 0)

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/terminal.c:451:9: warning[-Wanalyzer-malloc-leak]: leak of ‘fd2’
vim91/src/terminal.c:6063:1: enter_function: entry to ‘f_term_dumpdiff’
vim91/src/terminal.c:6071:5: call_function: calling ‘term_load_dump’ from ‘f_term_dumpdiff’
#  449|       pos_T	save_cursor;
#  450|   
#  451|->     if (check_restricted() || check_secure())
#  452|   	return NULL;
#  453|       if (cmdwin_type != 0)

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/terminal.c:451:9: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(tv_get_string_buf_chk(argvars, & buf1), "r")’
vim91/src/terminal.c:5690:1: enter_function: entry to ‘term_load_dump’
vim91/src/terminal.c:5705:8: branch_false: following ‘false’ branch (when ‘do_diff == 0’)...
vim91/src/terminal.c:5707:8: branch_false: ...to here
vim91/src/terminal.c:5707:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5712:11: acquire_memory: allocated here
vim91/src/terminal.c:5713:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5718:8: branch_false: ...to here
vim91/src/terminal.c:5718:8: branch_false: following ‘false’ branch (when ‘do_diff == 0’)...
vim91/src/terminal.c:5729:5: call_function: inlined call to ‘init_job_options’ from ‘term_load_dump’
vim91/src/terminal.c:5730:16: branch_false: following ‘false’ branch (when ‘do_diff == 0’)...
<unknown>: branch_false: ...to here
vim91/src/terminal.c:5730:9: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5736:9: branch_false: ...to here
vim91/src/terminal.c:5748:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5767:15: branch_false: ...to here
vim91/src/terminal.c:5767:15: call_function: calling ‘term_start’ from ‘term_load_dump’
#  449|       pos_T	save_cursor;
#  450|   
#  451|->     if (check_restricted() || check_secure())
#  452|   	return NULL;
#  453|       if (cmdwin_type != 0)

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/terminal.c:451:31: warning[-Wanalyzer-file-leak]: leak of FILE ‘fd2’
vim91/src/terminal.c:6063:1: enter_function: entry to ‘f_term_dumpdiff’
vim91/src/terminal.c:6071:5: call_function: calling ‘term_load_dump’ from ‘f_term_dumpdiff’
#  449|       pos_T	save_cursor;
#  450|   
#  451|->     if (check_restricted() || check_secure())
#  452|   	return NULL;
#  453|       if (cmdwin_type != 0)

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/terminal.c:451:31: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(tv_get_string_buf_chk(argvars, & buf1), "r")’
vim91/src/terminal.c:5690:1: enter_function: entry to ‘term_load_dump’
vim91/src/terminal.c:5705:8: branch_false: following ‘false’ branch (when ‘do_diff == 0’)...
vim91/src/terminal.c:5707:8: branch_false: ...to here
vim91/src/terminal.c:5707:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5712:11: acquire_resource: opened here
vim91/src/terminal.c:5713:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5718:8: branch_false: ...to here
vim91/src/terminal.c:5718:8: branch_false: following ‘false’ branch (when ‘do_diff == 0’)...
vim91/src/terminal.c:5729:5: call_function: inlined call to ‘init_job_options’ from ‘term_load_dump’
vim91/src/terminal.c:5730:16: branch_false: following ‘false’ branch (when ‘do_diff == 0’)...
<unknown>: branch_false: ...to here
vim91/src/terminal.c:5748:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5767:15: branch_false: ...to here
vim91/src/terminal.c:5767:15: call_function: calling ‘term_start’ from ‘term_load_dump’
#  449|       pos_T	save_cursor;
#  450|   
#  451|->     if (check_restricted() || check_secure())
#  452|   	return NULL;
#  453|       if (cmdwin_type != 0)

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/terminal.c:451:31: warning[-Wanalyzer-malloc-leak]: leak of ‘fd2’
vim91/src/terminal.c:6063:1: enter_function: entry to ‘f_term_dumpdiff’
vim91/src/terminal.c:6071:5: call_function: calling ‘term_load_dump’ from ‘f_term_dumpdiff’
#  449|       pos_T	save_cursor;
#  450|   
#  451|->     if (check_restricted() || check_secure())
#  452|   	return NULL;
#  453|       if (cmdwin_type != 0)

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/terminal.c:451:31: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(tv_get_string_buf_chk(argvars, & buf1), "r")’
vim91/src/terminal.c:5690:1: enter_function: entry to ‘term_load_dump’
vim91/src/terminal.c:5705:8: branch_false: following ‘false’ branch (when ‘do_diff == 0’)...
vim91/src/terminal.c:5707:8: branch_false: ...to here
vim91/src/terminal.c:5707:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5712:11: acquire_memory: allocated here
vim91/src/terminal.c:5713:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5718:8: branch_false: ...to here
vim91/src/terminal.c:5718:8: branch_false: following ‘false’ branch (when ‘do_diff == 0’)...
vim91/src/terminal.c:5729:5: call_function: inlined call to ‘init_job_options’ from ‘term_load_dump’
vim91/src/terminal.c:5730:16: branch_false: following ‘false’ branch (when ‘do_diff == 0’)...
<unknown>: branch_false: ...to here
vim91/src/terminal.c:5748:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5767:15: branch_false: ...to here
vim91/src/terminal.c:5767:15: call_function: calling ‘term_start’ from ‘term_load_dump’
#  449|       pos_T	save_cursor;
#  450|   
#  451|->     if (check_restricted() || check_secure())
#  452|   	return NULL;
#  453|       if (cmdwin_type != 0)

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/terminal.c:455:9: warning[-Wanalyzer-file-leak]: leak of FILE ‘fd2’
vim91/src/terminal.c:6063:1: enter_function: entry to ‘f_term_dumpdiff’
vim91/src/terminal.c:6071:5: call_function: calling ‘term_load_dump’ from ‘f_term_dumpdiff’
#  453|       if (cmdwin_type != 0)
#  454|       {
#  455|-> 	emsg(_(e_cannot_open_terminal_from_command_line_window));
#  456|   	return NULL;
#  457|       }

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/terminal.c:455:9: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(tv_get_string_buf_chk(argvars, & buf1), "r")’
vim91/src/terminal.c:5690:1: enter_function: entry to ‘term_load_dump’
vim91/src/terminal.c:5705:8: branch_false: following ‘false’ branch (when ‘do_diff == 0’)...
vim91/src/terminal.c:5707:8: branch_false: ...to here
vim91/src/terminal.c:5707:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5712:11: acquire_resource: opened here
vim91/src/terminal.c:5713:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5718:8: branch_false: ...to here
vim91/src/terminal.c:5718:8: branch_false: following ‘false’ branch (when ‘do_diff == 0’)...
vim91/src/terminal.c:5729:5: call_function: inlined call to ‘init_job_options’ from ‘term_load_dump’
vim91/src/terminal.c:5730:16: branch_false: following ‘false’ branch (when ‘do_diff == 0’)...
<unknown>: branch_false: ...to here
vim91/src/terminal.c:5748:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5767:15: branch_false: ...to here
vim91/src/terminal.c:5767:15: call_function: calling ‘term_start’ from ‘term_load_dump’
#  453|       if (cmdwin_type != 0)
#  454|       {
#  455|-> 	emsg(_(e_cannot_open_terminal_from_command_line_window));
#  456|   	return NULL;
#  457|       }

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/terminal.c:455:9: warning[-Wanalyzer-malloc-leak]: leak of ‘fd2’
vim91/src/terminal.c:6063:1: enter_function: entry to ‘f_term_dumpdiff’
vim91/src/terminal.c:6071:5: call_function: calling ‘term_load_dump’ from ‘f_term_dumpdiff’
#  453|       if (cmdwin_type != 0)
#  454|       {
#  455|-> 	emsg(_(e_cannot_open_terminal_from_command_line_window));
#  456|   	return NULL;
#  457|       }

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/terminal.c:455:9: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(tv_get_string_buf_chk(argvars, & buf1), "r")’
vim91/src/terminal.c:5690:1: enter_function: entry to ‘term_load_dump’
vim91/src/terminal.c:5705:8: branch_false: following ‘false’ branch (when ‘do_diff == 0’)...
vim91/src/terminal.c:5707:8: branch_false: ...to here
vim91/src/terminal.c:5707:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5712:11: acquire_memory: allocated here
vim91/src/terminal.c:5713:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5718:8: branch_false: ...to here
vim91/src/terminal.c:5718:8: branch_false: following ‘false’ branch (when ‘do_diff == 0’)...
vim91/src/terminal.c:5729:5: call_function: inlined call to ‘init_job_options’ from ‘term_load_dump’
vim91/src/terminal.c:5730:16: branch_false: following ‘false’ branch (when ‘do_diff == 0’)...
<unknown>: branch_false: ...to here
vim91/src/terminal.c:5748:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5767:15: branch_false: ...to here
vim91/src/terminal.c:5767:15: call_function: calling ‘term_start’ from ‘term_load_dump’
#  453|       if (cmdwin_type != 0)
#  454|       {
#  455|-> 	emsg(_(e_cannot_open_terminal_from_command_line_window));
#  456|   	return NULL;
#  457|       }

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/terminal.c:468:9: warning[-Wanalyzer-file-leak]: leak of FILE ‘fd2’
vim91/src/terminal.c:6063:1: enter_function: entry to ‘f_term_dumpdiff’
vim91/src/terminal.c:6071:5: call_function: calling ‘term_load_dump’ from ‘f_term_dumpdiff’
#  466|   	    && argvar->vval.v_list->lv_first == &range_list_item))
#  467|       {
#  468|-> 	emsg(_(e_invalid_argument));
#  469|   	return NULL;
#  470|       }

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/terminal.c:468:9: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(tv_get_string_buf_chk(argvars, & buf1), "r")’
vim91/src/terminal.c:5690:1: enter_function: entry to ‘term_load_dump’
vim91/src/terminal.c:5705:8: branch_false: following ‘false’ branch (when ‘do_diff == 0’)...
vim91/src/terminal.c:5707:8: branch_false: ...to here
vim91/src/terminal.c:5707:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5712:11: acquire_resource: opened here
vim91/src/terminal.c:5713:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5718:8: branch_false: ...to here
vim91/src/terminal.c:5718:8: branch_false: following ‘false’ branch (when ‘do_diff == 0’)...
vim91/src/terminal.c:5729:5: call_function: inlined call to ‘init_job_options’ from ‘term_load_dump’
vim91/src/terminal.c:5730:16: branch_false: following ‘false’ branch (when ‘do_diff == 0’)...
<unknown>: branch_false: ...to here
vim91/src/terminal.c:5748:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5767:15: branch_false: ...to here
vim91/src/terminal.c:5767:15: call_function: calling ‘term_start’ from ‘term_load_dump’
#  466|   	    && argvar->vval.v_list->lv_first == &range_list_item))
#  467|       {
#  468|-> 	emsg(_(e_invalid_argument));
#  469|   	return NULL;
#  470|       }

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/terminal.c:468:9: warning[-Wanalyzer-malloc-leak]: leak of ‘fd2’
vim91/src/terminal.c:6063:1: enter_function: entry to ‘f_term_dumpdiff’
vim91/src/terminal.c:6071:5: call_function: calling ‘term_load_dump’ from ‘f_term_dumpdiff’
#  466|   	    && argvar->vval.v_list->lv_first == &range_list_item))
#  467|       {
#  468|-> 	emsg(_(e_invalid_argument));
#  469|   	return NULL;
#  470|       }

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/terminal.c:468:9: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(tv_get_string_buf_chk(argvars, & buf1), "r")’
vim91/src/terminal.c:5690:1: enter_function: entry to ‘term_load_dump’
vim91/src/terminal.c:5705:8: branch_false: following ‘false’ branch (when ‘do_diff == 0’)...
vim91/src/terminal.c:5707:8: branch_false: ...to here
vim91/src/terminal.c:5707:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5712:11: acquire_memory: allocated here
vim91/src/terminal.c:5713:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5718:8: branch_false: ...to here
vim91/src/terminal.c:5718:8: branch_false: following ‘false’ branch (when ‘do_diff == 0’)...
vim91/src/terminal.c:5729:5: call_function: inlined call to ‘init_job_options’ from ‘term_load_dump’
vim91/src/terminal.c:5730:16: branch_false: following ‘false’ branch (when ‘do_diff == 0’)...
<unknown>: branch_false: ...to here
vim91/src/terminal.c:5748:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5767:15: branch_false: ...to here
vim91/src/terminal.c:5767:15: call_function: calling ‘term_start’ from ‘term_load_dump’
#  466|   	    && argvar->vval.v_list->lv_first == &range_list_item))
#  467|       {
#  468|-> 	emsg(_(e_invalid_argument));
#  469|   	return NULL;
#  470|       }

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/terminal.c:472:12: warning[-Wanalyzer-file-leak]: leak of FILE ‘fd2’
vim91/src/terminal.c:6063:1: enter_function: entry to ‘f_term_dumpdiff’
vim91/src/terminal.c:6071:5: call_function: calling ‘term_load_dump’ from ‘f_term_dumpdiff’
#  470|       }
#  471|   
#  472|->     term = ALLOC_CLEAR_ONE(term_T);
#  473|       if (term == NULL)
#  474|   	return NULL;

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/terminal.c:472:12: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(tv_get_string_buf_chk(argvars, & buf1), "r")’
vim91/src/terminal.c:6078:1: enter_function: entry to ‘f_term_dumpload’
vim91/src/terminal.c:6085:5: call_function: calling ‘term_load_dump’ from ‘f_term_dumpload’
#  470|       }
#  471|   
#  472|->     term = ALLOC_CLEAR_ONE(term_T);
#  473|       if (term == NULL)
#  474|   	return NULL;

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/terminal.c:472:12: warning[-Wanalyzer-malloc-leak]: leak of ‘fd2’
vim91/src/terminal.c:6063:1: enter_function: entry to ‘f_term_dumpdiff’
vim91/src/terminal.c:6071:5: call_function: calling ‘term_load_dump’ from ‘f_term_dumpdiff’
#  470|       }
#  471|   
#  472|->     term = ALLOC_CLEAR_ONE(term_T);
#  473|       if (term == NULL)
#  474|   	return NULL;

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/terminal.c:472:12: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(tv_get_string_buf_chk(argvars, & buf1), "r")’
vim91/src/terminal.c:6078:1: enter_function: entry to ‘f_term_dumpload’
vim91/src/terminal.c:6085:5: call_function: calling ‘term_load_dump’ from ‘f_term_dumpload’
#  470|       }
#  471|   
#  472|->     term = ALLOC_CLEAR_ONE(term_T);
#  473|       if (term == NULL)
#  474|   	return NULL;

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/terminal.c:482:5: warning[-Wanalyzer-file-leak]: leak of FILE ‘fd2’
vim91/src/terminal.c:6063:1: enter_function: entry to ‘f_term_dumpdiff’
vim91/src/terminal.c:6071:5: call_function: calling ‘term_load_dump’ from ‘f_term_dumpdiff’
#  480|       term->tl_system = (flags & TERM_START_SYSTEM);
#  481|   #endif
#  482|->     ga_init2(&term->tl_scrollback, sizeof(sb_line_T), 300);
#  483|       ga_init2(&term->tl_scrollback_postponed, sizeof(sb_line_T), 300);
#  484|       ga_init2(&term->tl_osc_buf, sizeof(char), 300);

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/terminal.c:482:5: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(tv_get_string_buf_chk(argvars, & buf1), "r")’
vim91/src/terminal.c:6078:1: enter_function: entry to ‘f_term_dumpload’
vim91/src/terminal.c:6085:5: call_function: calling ‘term_load_dump’ from ‘f_term_dumpload’
#  480|       term->tl_system = (flags & TERM_START_SYSTEM);
#  481|   #endif
#  482|->     ga_init2(&term->tl_scrollback, sizeof(sb_line_T), 300);
#  483|       ga_init2(&term->tl_scrollback_postponed, sizeof(sb_line_T), 300);
#  484|       ga_init2(&term->tl_osc_buf, sizeof(char), 300);

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/terminal.c:482:5: warning[-Wanalyzer-malloc-leak]: leak of ‘fd2’
vim91/src/terminal.c:6063:1: enter_function: entry to ‘f_term_dumpdiff’
vim91/src/terminal.c:6071:5: call_function: calling ‘term_load_dump’ from ‘f_term_dumpdiff’
#  480|       term->tl_system = (flags & TERM_START_SYSTEM);
#  481|   #endif
#  482|->     ga_init2(&term->tl_scrollback, sizeof(sb_line_T), 300);
#  483|       ga_init2(&term->tl_scrollback_postponed, sizeof(sb_line_T), 300);
#  484|       ga_init2(&term->tl_osc_buf, sizeof(char), 300);

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/terminal.c:482:5: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(tv_get_string_buf_chk(argvars, & buf1), "r")’
vim91/src/terminal.c:6078:1: enter_function: entry to ‘f_term_dumpload’
vim91/src/terminal.c:6085:5: call_function: calling ‘term_load_dump’ from ‘f_term_dumpload’
#  480|       term->tl_system = (flags & TERM_START_SYSTEM);
#  481|   #endif
#  482|->     ga_init2(&term->tl_scrollback, sizeof(sb_line_T), 300);
#  483|       ga_init2(&term->tl_scrollback_postponed, sizeof(sb_line_T), 300);
#  484|       ga_init2(&term->tl_osc_buf, sizeof(char), 300);

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/terminal.c:483:5: warning[-Wanalyzer-file-leak]: leak of FILE ‘fd2’
vim91/src/terminal.c:6063:1: enter_function: entry to ‘f_term_dumpdiff’
vim91/src/terminal.c:6071:5: call_function: calling ‘term_load_dump’ from ‘f_term_dumpdiff’
#  481|   #endif
#  482|       ga_init2(&term->tl_scrollback, sizeof(sb_line_T), 300);
#  483|->     ga_init2(&term->tl_scrollback_postponed, sizeof(sb_line_T), 300);
#  484|       ga_init2(&term->tl_osc_buf, sizeof(char), 300);
#  485|   

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/terminal.c:483:5: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(tv_get_string_buf_chk(argvars, & buf1), "r")’
vim91/src/terminal.c:6078:1: enter_function: entry to ‘f_term_dumpload’
vim91/src/terminal.c:6085:5: call_function: calling ‘term_load_dump’ from ‘f_term_dumpload’
#  481|   #endif
#  482|       ga_init2(&term->tl_scrollback, sizeof(sb_line_T), 300);
#  483|->     ga_init2(&term->tl_scrollback_postponed, sizeof(sb_line_T), 300);
#  484|       ga_init2(&term->tl_osc_buf, sizeof(char), 300);
#  485|   

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/terminal.c:483:5: warning[-Wanalyzer-malloc-leak]: leak of ‘fd2’
vim91/src/terminal.c:6063:1: enter_function: entry to ‘f_term_dumpdiff’
vim91/src/terminal.c:6071:5: call_function: calling ‘term_load_dump’ from ‘f_term_dumpdiff’
#  481|   #endif
#  482|       ga_init2(&term->tl_scrollback, sizeof(sb_line_T), 300);
#  483|->     ga_init2(&term->tl_scrollback_postponed, sizeof(sb_line_T), 300);
#  484|       ga_init2(&term->tl_osc_buf, sizeof(char), 300);
#  485|   

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/terminal.c:483:5: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(tv_get_string_buf_chk(argvars, & buf1), "r")’
vim91/src/terminal.c:6078:1: enter_function: entry to ‘f_term_dumpload’
vim91/src/terminal.c:6085:5: call_function: calling ‘term_load_dump’ from ‘f_term_dumpload’
#  481|   #endif
#  482|       ga_init2(&term->tl_scrollback, sizeof(sb_line_T), 300);
#  483|->     ga_init2(&term->tl_scrollback_postponed, sizeof(sb_line_T), 300);
#  484|       ga_init2(&term->tl_osc_buf, sizeof(char), 300);
#  485|   

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/terminal.c:484:5: warning[-Wanalyzer-file-leak]: leak of FILE ‘fd2’
vim91/src/terminal.c:6063:1: enter_function: entry to ‘f_term_dumpdiff’
vim91/src/terminal.c:6071:5: call_function: calling ‘term_load_dump’ from ‘f_term_dumpdiff’
#  482|       ga_init2(&term->tl_scrollback, sizeof(sb_line_T), 300);
#  483|       ga_init2(&term->tl_scrollback_postponed, sizeof(sb_line_T), 300);
#  484|->     ga_init2(&term->tl_osc_buf, sizeof(char), 300);
#  485|   
#  486|       setpcmark();

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/terminal.c:484:5: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(tv_get_string_buf_chk(argvars, & buf1), "r")’
vim91/src/terminal.c:6078:1: enter_function: entry to ‘f_term_dumpload’
vim91/src/terminal.c:6085:5: call_function: calling ‘term_load_dump’ from ‘f_term_dumpload’
#  482|       ga_init2(&term->tl_scrollback, sizeof(sb_line_T), 300);
#  483|       ga_init2(&term->tl_scrollback_postponed, sizeof(sb_line_T), 300);
#  484|->     ga_init2(&term->tl_osc_buf, sizeof(char), 300);
#  485|   
#  486|       setpcmark();

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/terminal.c:484:5: warning[-Wanalyzer-malloc-leak]: leak of ‘fd2’
vim91/src/terminal.c:6063:1: enter_function: entry to ‘f_term_dumpdiff’
vim91/src/terminal.c:6071:5: call_function: calling ‘term_load_dump’ from ‘f_term_dumpdiff’
#  482|       ga_init2(&term->tl_scrollback, sizeof(sb_line_T), 300);
#  483|       ga_init2(&term->tl_scrollback_postponed, sizeof(sb_line_T), 300);
#  484|->     ga_init2(&term->tl_osc_buf, sizeof(char), 300);
#  485|   
#  486|       setpcmark();

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/terminal.c:484:5: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(tv_get_string_buf_chk(argvars, & buf1), "r")’
vim91/src/terminal.c:6078:1: enter_function: entry to ‘f_term_dumpload’
vim91/src/terminal.c:6085:5: call_function: calling ‘term_load_dump’ from ‘f_term_dumpload’
#  482|       ga_init2(&term->tl_scrollback, sizeof(sb_line_T), 300);
#  483|       ga_init2(&term->tl_scrollback_postponed, sizeof(sb_line_T), 300);
#  484|->     ga_init2(&term->tl_osc_buf, sizeof(char), 300);
#  485|   
#  486|       setpcmark();

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/terminal.c:1157:9: warning[-Wanalyzer-file-leak]: leak of FILE ‘fd2’
vim91/src/terminal.c:6063:1: enter_function: entry to ‘f_term_dumpdiff’
vim91/src/terminal.c:6071:5: call_function: calling ‘term_load_dump’ from ‘f_term_dumpdiff’
# 1155|   
# 1156|       for (i = 0; i < term->tl_scrollback.ga_len; ++i)
# 1157|-> 	vim_free(((sb_line_T *)term->tl_scrollback.ga_data + i)->sb_cells);
# 1158|       ga_clear(&term->tl_scrollback);
# 1159|       for (i = 0; i < term->tl_scrollback_postponed.ga_len; ++i)

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/terminal.c:1157:9: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(tv_get_string_buf_chk(argvars, & buf1), "r")’
vim91/src/terminal.c:5690:1: enter_function: entry to ‘term_load_dump’
vim91/src/terminal.c:5705:8: branch_false: following ‘false’ branch (when ‘do_diff == 0’)...
vim91/src/terminal.c:5707:8: branch_false: ...to here
vim91/src/terminal.c:5707:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5712:11: acquire_resource: opened here
vim91/src/terminal.c:5713:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5718:8: branch_false: ...to here
vim91/src/terminal.c:5718:8: branch_false: following ‘false’ branch (when ‘do_diff == 0’)...
vim91/src/terminal.c:5729:5: call_function: inlined call to ‘init_job_options’ from ‘term_load_dump’
vim91/src/terminal.c:5730:16: branch_false: following ‘false’ branch (when ‘do_diff == 0’)...
<unknown>: branch_false: ...to here
vim91/src/terminal.c:5748:8: branch_true: following ‘true’ branch...
vim91/src/terminal.c:5750:21: branch_true: ...to here
vim91/src/terminal.c:5754:12: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5758:13: branch_false: ...to here
vim91/src/terminal.c:5761:13: call_function: calling ‘free_scrollback’ from ‘term_load_dump’
# 1155|   
# 1156|       for (i = 0; i < term->tl_scrollback.ga_len; ++i)
# 1157|-> 	vim_free(((sb_line_T *)term->tl_scrollback.ga_data + i)->sb_cells);
# 1158|       ga_clear(&term->tl_scrollback);
# 1159|       for (i = 0; i < term->tl_scrollback_postponed.ga_len; ++i)

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/terminal.c:1157:9: warning[-Wanalyzer-malloc-leak]: leak of ‘fd2’
vim91/src/terminal.c:6063:1: enter_function: entry to ‘f_term_dumpdiff’
vim91/src/terminal.c:6071:5: call_function: calling ‘term_load_dump’ from ‘f_term_dumpdiff’
# 1155|   
# 1156|       for (i = 0; i < term->tl_scrollback.ga_len; ++i)
# 1157|-> 	vim_free(((sb_line_T *)term->tl_scrollback.ga_data + i)->sb_cells);
# 1158|       ga_clear(&term->tl_scrollback);
# 1159|       for (i = 0; i < term->tl_scrollback_postponed.ga_len; ++i)

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/terminal.c:1157:9: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(tv_get_string_buf_chk(argvars, & buf1), "r")’
vim91/src/terminal.c:5690:1: enter_function: entry to ‘term_load_dump’
vim91/src/terminal.c:5705:8: branch_false: following ‘false’ branch (when ‘do_diff == 0’)...
vim91/src/terminal.c:5707:8: branch_false: ...to here
vim91/src/terminal.c:5707:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5712:11: acquire_memory: allocated here
vim91/src/terminal.c:5713:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5718:8: branch_false: ...to here
vim91/src/terminal.c:5718:8: branch_false: following ‘false’ branch (when ‘do_diff == 0’)...
vim91/src/terminal.c:5729:5: call_function: inlined call to ‘init_job_options’ from ‘term_load_dump’
vim91/src/terminal.c:5730:16: branch_false: following ‘false’ branch (when ‘do_diff == 0’)...
<unknown>: branch_false: ...to here
vim91/src/terminal.c:5748:8: branch_true: following ‘true’ branch...
vim91/src/terminal.c:5750:21: branch_true: ...to here
vim91/src/terminal.c:5754:12: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5758:13: branch_false: ...to here
vim91/src/terminal.c:5761:13: call_function: calling ‘free_scrollback’ from ‘term_load_dump’
# 1155|   
# 1156|       for (i = 0; i < term->tl_scrollback.ga_len; ++i)
# 1157|-> 	vim_free(((sb_line_T *)term->tl_scrollback.ga_data + i)->sb_cells);
# 1158|       ga_clear(&term->tl_scrollback);
# 1159|       for (i = 0; i < term->tl_scrollback_postponed.ga_len; ++i)

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/terminal.c:1158:5: warning[-Wanalyzer-file-leak]: leak of FILE ‘fd2’
vim91/src/terminal.c:6063:1: enter_function: entry to ‘f_term_dumpdiff’
vim91/src/terminal.c:6071:5: call_function: calling ‘term_load_dump’ from ‘f_term_dumpdiff’
# 1156|       for (i = 0; i < term->tl_scrollback.ga_len; ++i)
# 1157|   	vim_free(((sb_line_T *)term->tl_scrollback.ga_data + i)->sb_cells);
# 1158|->     ga_clear(&term->tl_scrollback);
# 1159|       for (i = 0; i < term->tl_scrollback_postponed.ga_len; ++i)
# 1160|   	vim_free(((sb_line_T *)term->tl_scrollback_postponed.ga_data + i)->sb_cells);

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/terminal.c:1158:5: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(tv_get_string_buf_chk(argvars, & buf1), "r")’
vim91/src/terminal.c:5690:1: enter_function: entry to ‘term_load_dump’
vim91/src/terminal.c:5705:8: branch_false: following ‘false’ branch (when ‘do_diff == 0’)...
vim91/src/terminal.c:5707:8: branch_false: ...to here
vim91/src/terminal.c:5707:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5712:11: acquire_resource: opened here
vim91/src/terminal.c:5713:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5718:8: branch_false: ...to here
vim91/src/terminal.c:5718:8: branch_false: following ‘false’ branch (when ‘do_diff == 0’)...
vim91/src/terminal.c:5729:5: call_function: inlined call to ‘init_job_options’ from ‘term_load_dump’
vim91/src/terminal.c:5730:16: branch_false: following ‘false’ branch (when ‘do_diff == 0’)...
<unknown>: branch_false: ...to here
vim91/src/terminal.c:5748:8: branch_true: following ‘true’ branch...
vim91/src/terminal.c:5750:21: branch_true: ...to here
vim91/src/terminal.c:5754:12: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5758:13: branch_false: ...to here
vim91/src/terminal.c:5761:13: call_function: calling ‘free_scrollback’ from ‘term_load_dump’
# 1156|       for (i = 0; i < term->tl_scrollback.ga_len; ++i)
# 1157|   	vim_free(((sb_line_T *)term->tl_scrollback.ga_data + i)->sb_cells);
# 1158|->     ga_clear(&term->tl_scrollback);
# 1159|       for (i = 0; i < term->tl_scrollback_postponed.ga_len; ++i)
# 1160|   	vim_free(((sb_line_T *)term->tl_scrollback_postponed.ga_data + i)->sb_cells);

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/terminal.c:1158:5: warning[-Wanalyzer-malloc-leak]: leak of ‘fd2’
vim91/src/terminal.c:6063:1: enter_function: entry to ‘f_term_dumpdiff’
vim91/src/terminal.c:6071:5: call_function: calling ‘term_load_dump’ from ‘f_term_dumpdiff’
# 1156|       for (i = 0; i < term->tl_scrollback.ga_len; ++i)
# 1157|   	vim_free(((sb_line_T *)term->tl_scrollback.ga_data + i)->sb_cells);
# 1158|->     ga_clear(&term->tl_scrollback);
# 1159|       for (i = 0; i < term->tl_scrollback_postponed.ga_len; ++i)
# 1160|   	vim_free(((sb_line_T *)term->tl_scrollback_postponed.ga_data + i)->sb_cells);

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/terminal.c:1158:5: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(tv_get_string_buf_chk(argvars, & buf1), "r")’
vim91/src/terminal.c:5690:1: enter_function: entry to ‘term_load_dump’
vim91/src/terminal.c:5705:8: branch_false: following ‘false’ branch (when ‘do_diff == 0’)...
vim91/src/terminal.c:5707:8: branch_false: ...to here
vim91/src/terminal.c:5707:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5712:11: acquire_memory: allocated here
vim91/src/terminal.c:5713:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5718:8: branch_false: ...to here
vim91/src/terminal.c:5718:8: branch_false: following ‘false’ branch (when ‘do_diff == 0’)...
vim91/src/terminal.c:5729:5: call_function: inlined call to ‘init_job_options’ from ‘term_load_dump’
vim91/src/terminal.c:5730:16: branch_false: following ‘false’ branch (when ‘do_diff == 0’)...
<unknown>: branch_false: ...to here
vim91/src/terminal.c:5748:8: branch_true: following ‘true’ branch...
vim91/src/terminal.c:5750:21: branch_true: ...to here
vim91/src/terminal.c:5754:12: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5758:13: branch_false: ...to here
vim91/src/terminal.c:5761:13: call_function: calling ‘free_scrollback’ from ‘term_load_dump’
# 1156|       for (i = 0; i < term->tl_scrollback.ga_len; ++i)
# 1157|   	vim_free(((sb_line_T *)term->tl_scrollback.ga_data + i)->sb_cells);
# 1158|->     ga_clear(&term->tl_scrollback);
# 1159|       for (i = 0; i < term->tl_scrollback_postponed.ga_len; ++i)
# 1160|   	vim_free(((sb_line_T *)term->tl_scrollback_postponed.ga_data + i)->sb_cells);

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/terminal.c:1160:9: warning[-Wanalyzer-file-leak]: leak of FILE ‘fd2’
vim91/src/terminal.c:6063:1: enter_function: entry to ‘f_term_dumpdiff’
vim91/src/terminal.c:6071:5: call_function: calling ‘term_load_dump’ from ‘f_term_dumpdiff’
# 1158|       ga_clear(&term->tl_scrollback);
# 1159|       for (i = 0; i < term->tl_scrollback_postponed.ga_len; ++i)
# 1160|-> 	vim_free(((sb_line_T *)term->tl_scrollback_postponed.ga_data + i)->sb_cells);
# 1161|       ga_clear(&term->tl_scrollback_postponed);
# 1162|   }

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/terminal.c:1160:9: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(tv_get_string_buf_chk(argvars, & buf1), "r")’
vim91/src/terminal.c:5690:1: enter_function: entry to ‘term_load_dump’
vim91/src/terminal.c:5705:8: branch_false: following ‘false’ branch (when ‘do_diff == 0’)...
vim91/src/terminal.c:5707:8: branch_false: ...to here
vim91/src/terminal.c:5707:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5712:11: acquire_resource: opened here
vim91/src/terminal.c:5713:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5718:8: branch_false: ...to here
vim91/src/terminal.c:5718:8: branch_false: following ‘false’ branch (when ‘do_diff == 0’)...
vim91/src/terminal.c:5729:5: call_function: inlined call to ‘init_job_options’ from ‘term_load_dump’
vim91/src/terminal.c:5730:16: branch_false: following ‘false’ branch (when ‘do_diff == 0’)...
<unknown>: branch_false: ...to here
vim91/src/terminal.c:5748:8: branch_true: following ‘true’ branch...
vim91/src/terminal.c:5750:21: branch_true: ...to here
vim91/src/terminal.c:5754:12: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5758:13: branch_false: ...to here
vim91/src/terminal.c:5761:13: call_function: calling ‘free_scrollback’ from ‘term_load_dump’
# 1158|       ga_clear(&term->tl_scrollback);
# 1159|       for (i = 0; i < term->tl_scrollback_postponed.ga_len; ++i)
# 1160|-> 	vim_free(((sb_line_T *)term->tl_scrollback_postponed.ga_data + i)->sb_cells);
# 1161|       ga_clear(&term->tl_scrollback_postponed);
# 1162|   }

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/terminal.c:1160:9: warning[-Wanalyzer-malloc-leak]: leak of ‘fd2’
vim91/src/terminal.c:6063:1: enter_function: entry to ‘f_term_dumpdiff’
vim91/src/terminal.c:6071:5: call_function: calling ‘term_load_dump’ from ‘f_term_dumpdiff’
# 1158|       ga_clear(&term->tl_scrollback);
# 1159|       for (i = 0; i < term->tl_scrollback_postponed.ga_len; ++i)
# 1160|-> 	vim_free(((sb_line_T *)term->tl_scrollback_postponed.ga_data + i)->sb_cells);
# 1161|       ga_clear(&term->tl_scrollback_postponed);
# 1162|   }

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/terminal.c:1160:9: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(tv_get_string_buf_chk(argvars, & buf1), "r")’
vim91/src/terminal.c:5690:1: enter_function: entry to ‘term_load_dump’
vim91/src/terminal.c:5705:8: branch_false: following ‘false’ branch (when ‘do_diff == 0’)...
vim91/src/terminal.c:5707:8: branch_false: ...to here
vim91/src/terminal.c:5707:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5712:11: acquire_memory: allocated here
vim91/src/terminal.c:5713:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5718:8: branch_false: ...to here
vim91/src/terminal.c:5718:8: branch_false: following ‘false’ branch (when ‘do_diff == 0’)...
vim91/src/terminal.c:5729:5: call_function: inlined call to ‘init_job_options’ from ‘term_load_dump’
vim91/src/terminal.c:5730:16: branch_false: following ‘false’ branch (when ‘do_diff == 0’)...
<unknown>: branch_false: ...to here
vim91/src/terminal.c:5748:8: branch_true: following ‘true’ branch...
vim91/src/terminal.c:5750:21: branch_true: ...to here
vim91/src/terminal.c:5754:12: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5758:13: branch_false: ...to here
vim91/src/terminal.c:5761:13: call_function: calling ‘free_scrollback’ from ‘term_load_dump’
# 1158|       ga_clear(&term->tl_scrollback);
# 1159|       for (i = 0; i < term->tl_scrollback_postponed.ga_len; ++i)
# 1160|-> 	vim_free(((sb_line_T *)term->tl_scrollback_postponed.ga_data + i)->sb_cells);
# 1161|       ga_clear(&term->tl_scrollback_postponed);
# 1162|   }

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/terminal.c:1161:5: warning[-Wanalyzer-file-leak]: leak of FILE ‘fd2’
vim91/src/terminal.c:6063:1: enter_function: entry to ‘f_term_dumpdiff’
vim91/src/terminal.c:6071:5: call_function: calling ‘term_load_dump’ from ‘f_term_dumpdiff’
# 1159|       for (i = 0; i < term->tl_scrollback_postponed.ga_len; ++i)
# 1160|   	vim_free(((sb_line_T *)term->tl_scrollback_postponed.ga_data + i)->sb_cells);
# 1161|->     ga_clear(&term->tl_scrollback_postponed);
# 1162|   }
# 1163|   

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/terminal.c:1161:5: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(tv_get_string_buf_chk(argvars, & buf1), "r")’
vim91/src/terminal.c:5690:1: enter_function: entry to ‘term_load_dump’
vim91/src/terminal.c:5705:8: branch_false: following ‘false’ branch (when ‘do_diff == 0’)...
vim91/src/terminal.c:5707:8: branch_false: ...to here
vim91/src/terminal.c:5707:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5712:11: acquire_resource: opened here
vim91/src/terminal.c:5713:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5718:8: branch_false: ...to here
vim91/src/terminal.c:5718:8: branch_false: following ‘false’ branch (when ‘do_diff == 0’)...
vim91/src/terminal.c:5729:5: call_function: inlined call to ‘init_job_options’ from ‘term_load_dump’
vim91/src/terminal.c:5730:16: branch_false: following ‘false’ branch (when ‘do_diff == 0’)...
<unknown>: branch_false: ...to here
vim91/src/terminal.c:5748:8: branch_true: following ‘true’ branch...
vim91/src/terminal.c:5750:21: branch_true: ...to here
vim91/src/terminal.c:5754:12: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5758:13: branch_false: ...to here
vim91/src/terminal.c:5761:13: call_function: calling ‘free_scrollback’ from ‘term_load_dump’
# 1159|       for (i = 0; i < term->tl_scrollback_postponed.ga_len; ++i)
# 1160|   	vim_free(((sb_line_T *)term->tl_scrollback_postponed.ga_data + i)->sb_cells);
# 1161|->     ga_clear(&term->tl_scrollback_postponed);
# 1162|   }
# 1163|   

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/terminal.c:1161:5: warning[-Wanalyzer-malloc-leak]: leak of ‘fd2’
vim91/src/terminal.c:6063:1: enter_function: entry to ‘f_term_dumpdiff’
vim91/src/terminal.c:6071:5: call_function: calling ‘term_load_dump’ from ‘f_term_dumpdiff’
# 1159|       for (i = 0; i < term->tl_scrollback_postponed.ga_len; ++i)
# 1160|   	vim_free(((sb_line_T *)term->tl_scrollback_postponed.ga_data + i)->sb_cells);
# 1161|->     ga_clear(&term->tl_scrollback_postponed);
# 1162|   }
# 1163|   

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/terminal.c:1161:5: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(tv_get_string_buf_chk(argvars, & buf1), "r")’
vim91/src/terminal.c:5690:1: enter_function: entry to ‘term_load_dump’
vim91/src/terminal.c:5705:8: branch_false: following ‘false’ branch (when ‘do_diff == 0’)...
vim91/src/terminal.c:5707:8: branch_false: ...to here
vim91/src/terminal.c:5707:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5712:11: acquire_memory: allocated here
vim91/src/terminal.c:5713:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5718:8: branch_false: ...to here
vim91/src/terminal.c:5718:8: branch_false: following ‘false’ branch (when ‘do_diff == 0’)...
vim91/src/terminal.c:5729:5: call_function: inlined call to ‘init_job_options’ from ‘term_load_dump’
vim91/src/terminal.c:5730:16: branch_false: following ‘false’ branch (when ‘do_diff == 0’)...
<unknown>: branch_false: ...to here
vim91/src/terminal.c:5748:8: branch_true: following ‘true’ branch...
vim91/src/terminal.c:5750:21: branch_true: ...to here
vim91/src/terminal.c:5754:12: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5758:13: branch_false: ...to here
vim91/src/terminal.c:5761:13: call_function: calling ‘free_scrollback’ from ‘term_load_dump’
# 1159|       for (i = 0; i < term->tl_scrollback_postponed.ga_len; ++i)
# 1160|   	vim_free(((sb_line_T *)term->tl_scrollback_postponed.ga_data + i)->sb_cells);
# 1161|->     ga_clear(&term->tl_scrollback_postponed);
# 1162|   }
# 1163|   

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/terminal.c:5241:14: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(tv_get_string_chk(argvars + 16), "w")’
vim91/src/terminal.c:5176:1: enter_function: entry to ‘f_term_dumpwrite’
vim91/src/terminal.c:5191:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5200:11: call_function: calling ‘term_get_buf’ from ‘f_term_dumpwrite’
vim91/src/terminal.c:5200:11: return_function: returning to ‘f_term_dumpwrite’ from ‘term_get_buf’
vim91/src/terminal.c:5201:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5203:5: branch_false: ...to here
vim91/src/terminal.c:5204:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5210:9: branch_false: ...to here
vim91/src/terminal.c:5225:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5227:9: branch_false: ...to here
vim91/src/terminal.c:5227:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5233:9: branch_false: ...to here
vim91/src/terminal.c:5233:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5233:32: branch_false: ...to here
vim91/src/terminal.c:5233:32: acquire_resource: opened here
vim91/src/terminal.c:5233:9: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5239:5: branch_false: ...to here
vim91/src/terminal.c:5241:14: danger: ‘fopen(tv_get_string_chk(argvars + 16), "w")’ leaks here; was opened at [(19)](sarif:/runs/0/results/52/codeFlows/0/threadFlows/0/locations/18)
# 5239|       clear_cell(&prev_cell);
# 5240|   
# 5241|->     screen = vterm_obtain_screen(term->tl_vterm);
# 5242|       state = vterm_obtain_state(term->tl_vterm);
# 5243|       vterm_state_get_cursorpos(state, &cursor_pos);

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/terminal.c:5241:14: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(tv_get_string_chk(argvars + 16), "w")’
vim91/src/terminal.c:5176:1: enter_function: entry to ‘f_term_dumpwrite’
vim91/src/terminal.c:5191:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5200:11: call_function: calling ‘term_get_buf’ from ‘f_term_dumpwrite’
vim91/src/terminal.c:5200:11: return_function: returning to ‘f_term_dumpwrite’ from ‘term_get_buf’
vim91/src/terminal.c:5201:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5203:5: branch_false: ...to here
vim91/src/terminal.c:5204:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5210:9: branch_false: ...to here
vim91/src/terminal.c:5225:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5227:9: branch_false: ...to here
vim91/src/terminal.c:5227:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5233:9: branch_false: ...to here
vim91/src/terminal.c:5233:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5233:32: branch_false: ...to here
vim91/src/terminal.c:5233:32: acquire_memory: allocated here
vim91/src/terminal.c:5233:9: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5239:5: branch_false: ...to here
vim91/src/terminal.c:5241:14: danger: ‘fopen(tv_get_string_chk(argvars + 16), "w")’ leaks here; was allocated at [(19)](sarif:/runs/0/results/53/codeFlows/0/threadFlows/0/locations/18)
# 5239|       clear_cell(&prev_cell);
# 5240|   
# 5241|->     screen = vterm_obtain_screen(term->tl_vterm);
# 5242|       state = vterm_obtain_state(term->tl_vterm);
# 5243|       vterm_state_get_cursorpos(state, &cursor_pos);

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/terminal.c:5242:13: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(tv_get_string_chk(argvars + 16), "w")’
vim91/src/terminal.c:5176:1: enter_function: entry to ‘f_term_dumpwrite’
vim91/src/terminal.c:5191:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5200:11: call_function: calling ‘term_get_buf’ from ‘f_term_dumpwrite’
vim91/src/terminal.c:5200:11: return_function: returning to ‘f_term_dumpwrite’ from ‘term_get_buf’
vim91/src/terminal.c:5201:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5203:5: branch_false: ...to here
vim91/src/terminal.c:5204:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5210:9: branch_false: ...to here
vim91/src/terminal.c:5225:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5227:9: branch_false: ...to here
vim91/src/terminal.c:5227:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5233:9: branch_false: ...to here
vim91/src/terminal.c:5233:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5233:32: branch_false: ...to here
vim91/src/terminal.c:5233:32: acquire_resource: opened here
vim91/src/terminal.c:5233:9: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5239:5: branch_false: ...to here
vim91/src/terminal.c:5242:13: danger: ‘fopen(tv_get_string_chk(argvars + 16), "w")’ leaks here; was opened at [(19)](sarif:/runs/0/results/54/codeFlows/0/threadFlows/0/locations/18)
# 5240|   
# 5241|       screen = vterm_obtain_screen(term->tl_vterm);
# 5242|->     state = vterm_obtain_state(term->tl_vterm);
# 5243|       vterm_state_get_cursorpos(state, &cursor_pos);
# 5244|   

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/terminal.c:5242:13: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(tv_get_string_chk(argvars + 16), "w")’
vim91/src/terminal.c:5176:1: enter_function: entry to ‘f_term_dumpwrite’
vim91/src/terminal.c:5191:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5200:11: call_function: calling ‘term_get_buf’ from ‘f_term_dumpwrite’
vim91/src/terminal.c:5200:11: return_function: returning to ‘f_term_dumpwrite’ from ‘term_get_buf’
vim91/src/terminal.c:5201:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5203:5: branch_false: ...to here
vim91/src/terminal.c:5204:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5210:9: branch_false: ...to here
vim91/src/terminal.c:5225:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5227:9: branch_false: ...to here
vim91/src/terminal.c:5227:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5233:9: branch_false: ...to here
vim91/src/terminal.c:5233:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5233:32: branch_false: ...to here
vim91/src/terminal.c:5233:32: acquire_memory: allocated here
vim91/src/terminal.c:5233:9: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5239:5: branch_false: ...to here
vim91/src/terminal.c:5242:13: danger: ‘fopen(tv_get_string_chk(argvars + 16), "w")’ leaks here; was allocated at [(19)](sarif:/runs/0/results/55/codeFlows/0/threadFlows/0/locations/18)
# 5240|   
# 5241|       screen = vterm_obtain_screen(term->tl_vterm);
# 5242|->     state = vterm_obtain_state(term->tl_vterm);
# 5243|       vterm_state_get_cursorpos(state, &cursor_pos);
# 5244|   

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/terminal.c:5243:5: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(tv_get_string_chk(argvars + 16), "w")’
vim91/src/terminal.c:5176:1: enter_function: entry to ‘f_term_dumpwrite’
vim91/src/terminal.c:5191:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5200:11: call_function: calling ‘term_get_buf’ from ‘f_term_dumpwrite’
vim91/src/terminal.c:5200:11: return_function: returning to ‘f_term_dumpwrite’ from ‘term_get_buf’
vim91/src/terminal.c:5201:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5203:5: branch_false: ...to here
vim91/src/terminal.c:5204:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5210:9: branch_false: ...to here
vim91/src/terminal.c:5225:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5227:9: branch_false: ...to here
vim91/src/terminal.c:5227:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5233:9: branch_false: ...to here
vim91/src/terminal.c:5233:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5233:32: branch_false: ...to here
vim91/src/terminal.c:5233:32: acquire_resource: opened here
vim91/src/terminal.c:5233:9: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5239:5: branch_false: ...to here
vim91/src/terminal.c:5243:5: danger: ‘fopen(tv_get_string_chk(argvars + 16), "w")’ leaks here; was opened at [(19)](sarif:/runs/0/results/56/codeFlows/0/threadFlows/0/locations/18)
# 5241|       screen = vterm_obtain_screen(term->tl_vterm);
# 5242|       state = vterm_obtain_state(term->tl_vterm);
# 5243|->     vterm_state_get_cursorpos(state, &cursor_pos);
# 5244|   
# 5245|       for (pos.row = 0; (max_height == 0 || pos.row < max_height)

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/terminal.c:5243:5: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(tv_get_string_chk(argvars + 16), "w")’
vim91/src/terminal.c:5176:1: enter_function: entry to ‘f_term_dumpwrite’
vim91/src/terminal.c:5191:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5200:11: call_function: calling ‘term_get_buf’ from ‘f_term_dumpwrite’
vim91/src/terminal.c:5200:11: return_function: returning to ‘f_term_dumpwrite’ from ‘term_get_buf’
vim91/src/terminal.c:5201:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5203:5: branch_false: ...to here
vim91/src/terminal.c:5204:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5210:9: branch_false: ...to here
vim91/src/terminal.c:5225:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5227:9: branch_false: ...to here
vim91/src/terminal.c:5227:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5233:9: branch_false: ...to here
vim91/src/terminal.c:5233:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5233:32: branch_false: ...to here
vim91/src/terminal.c:5233:32: acquire_memory: allocated here
vim91/src/terminal.c:5233:9: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5239:5: branch_false: ...to here
vim91/src/terminal.c:5243:5: danger: ‘fopen(tv_get_string_chk(argvars + 16), "w")’ leaks here; was allocated at [(19)](sarif:/runs/0/results/57/codeFlows/0/threadFlows/0/locations/18)
# 5241|       screen = vterm_obtain_screen(term->tl_vterm);
# 5242|       state = vterm_obtain_state(term->tl_vterm);
# 5243|->     vterm_state_get_cursorpos(state, &cursor_pos);
# 5244|   
# 5245|       for (pos.row = 0; (max_height == 0 || pos.row < max_height)

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/terminal.c:5260:17: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(tv_get_string_chk(argvars + 16), "w")’
vim91/src/terminal.c:5176:1: enter_function: entry to ‘f_term_dumpwrite’
vim91/src/terminal.c:5191:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5200:11: call_function: calling ‘term_get_buf’ from ‘f_term_dumpwrite’
vim91/src/terminal.c:5200:11: return_function: returning to ‘f_term_dumpwrite’ from ‘term_get_buf’
vim91/src/terminal.c:5201:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5203:5: branch_false: ...to here
vim91/src/terminal.c:5204:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5210:9: branch_false: ...to here
vim91/src/terminal.c:5225:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5227:9: branch_false: ...to here
vim91/src/terminal.c:5227:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5233:9: branch_false: ...to here
vim91/src/terminal.c:5233:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5233:32: branch_false: ...to here
vim91/src/terminal.c:5233:32: acquire_resource: opened here
vim91/src/terminal.c:5233:9: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5239:5: branch_false: ...to here
vim91/src/terminal.c:5245:23: branch_true: following ‘true’ branch...
vim91/src/terminal.c:5250:27: branch_true: following ‘true’ branch...
vim91/src/terminal.c:5260:17: danger: ‘fopen(tv_get_string_chk(argvars + 16), "w")’ leaks here; was opened at [(19)](sarif:/runs/0/results/58/codeFlows/0/threadFlows/0/locations/18)
# 5258|   						 && pos.row == cursor_pos.row);
# 5259|   
# 5260|-> 	    if (vterm_screen_get_cell(screen, pos, &cell) == 0)
# 5261|   		clear_cell(&cell);
# 5262|   

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/terminal.c:5260:17: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(tv_get_string_chk(argvars + 16), "w")’
vim91/src/terminal.c:5176:1: enter_function: entry to ‘f_term_dumpwrite’
vim91/src/terminal.c:5191:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5200:11: call_function: calling ‘term_get_buf’ from ‘f_term_dumpwrite’
vim91/src/terminal.c:5200:11: return_function: returning to ‘f_term_dumpwrite’ from ‘term_get_buf’
vim91/src/terminal.c:5201:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5203:5: branch_false: ...to here
vim91/src/terminal.c:5204:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5210:9: branch_false: ...to here
vim91/src/terminal.c:5225:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5227:9: branch_false: ...to here
vim91/src/terminal.c:5227:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5233:9: branch_false: ...to here
vim91/src/terminal.c:5233:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5233:32: branch_false: ...to here
vim91/src/terminal.c:5233:32: acquire_memory: allocated here
vim91/src/terminal.c:5233:9: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5239:5: branch_false: ...to here
vim91/src/terminal.c:5245:23: branch_true: following ‘true’ branch...
vim91/src/terminal.c:5250:27: branch_true: following ‘true’ branch...
vim91/src/terminal.c:5260:17: danger: ‘fopen(tv_get_string_chk(argvars + 16), "w")’ leaks here; was allocated at [(19)](sarif:/runs/0/results/59/codeFlows/0/threadFlows/0/locations/18)
# 5258|   						 && pos.row == cursor_pos.row);
# 5259|   
# 5260|-> 	    if (vterm_screen_get_cell(screen, pos, &cell) == 0)
# 5261|   		clear_cell(&cell);
# 5262|   

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/terminal.c:5282:28: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(tv_get_string_chk(argvars + 16), "w")’
vim91/src/terminal.c:5176:1: enter_function: entry to ‘f_term_dumpwrite’
vim91/src/terminal.c:5191:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5200:11: call_function: calling ‘term_get_buf’ from ‘f_term_dumpwrite’
vim91/src/terminal.c:5200:11: return_function: returning to ‘f_term_dumpwrite’ from ‘term_get_buf’
vim91/src/terminal.c:5201:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5203:5: branch_false: ...to here
vim91/src/terminal.c:5204:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5210:9: branch_false: ...to here
vim91/src/terminal.c:5225:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5227:9: branch_false: ...to here
vim91/src/terminal.c:5227:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5233:9: branch_false: ...to here
vim91/src/terminal.c:5233:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5233:32: branch_false: ...to here
vim91/src/terminal.c:5233:32: acquire_resource: opened here
vim91/src/terminal.c:5233:9: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5239:5: branch_false: ...to here
vim91/src/terminal.c:5245:23: branch_true: following ‘true’ branch...
vim91/src/terminal.c:5250:27: branch_true: following ‘true’ branch...
vim91/src/terminal.c:5260:16: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5263:13: branch_false: ...to here
vim91/src/terminal.c:5263:25: branch_true: following ‘true’ branch (when ‘i != 6’)...
vim91/src/terminal.c:5265:25: branch_true: ...to here
vim91/src/terminal.c:5270:20: branch_true: following ‘true’ branch (when ‘i == 0’)...
vim91/src/terminal.c:5272:25: branch_true: ...to here
vim91/src/terminal.c:5280:25: branch_true: following ‘true’ branch...
vim91/src/terminal.c:5282:28: branch_true: ...to here
vim91/src/terminal.c:5282:28: danger: ‘fopen(tv_get_string_chk(argvars + 16), "w")’ leaks here; was opened at [(19)](sarif:/runs/0/results/60/codeFlows/0/threadFlows/0/locations/18)
# 5280|   	    same_attr = vtermAttr2hl(&cell.attrs)
# 5281|   					      == vtermAttr2hl(&prev_cell.attrs)
# 5282|-> 			&& vterm_color_is_equal(&cell.fg, &prev_cell.fg)
# 5283|   			&& vterm_color_is_equal(&cell.bg, &prev_cell.bg);
# 5284|   	    if (same_chars && cell.width == prev_cell.width && same_attr

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/terminal.c:5282:28: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(tv_get_string_chk(argvars + 16), "w")’
vim91/src/terminal.c:5176:1: enter_function: entry to ‘f_term_dumpwrite’
vim91/src/terminal.c:5191:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5200:11: call_function: calling ‘term_get_buf’ from ‘f_term_dumpwrite’
vim91/src/terminal.c:5200:11: return_function: returning to ‘f_term_dumpwrite’ from ‘term_get_buf’
vim91/src/terminal.c:5201:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5203:5: branch_false: ...to here
vim91/src/terminal.c:5204:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5210:9: branch_false: ...to here
vim91/src/terminal.c:5225:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5227:9: branch_false: ...to here
vim91/src/terminal.c:5227:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5233:9: branch_false: ...to here
vim91/src/terminal.c:5233:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5233:32: branch_false: ...to here
vim91/src/terminal.c:5233:32: acquire_memory: allocated here
vim91/src/terminal.c:5233:9: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5239:5: branch_false: ...to here
vim91/src/terminal.c:5245:23: branch_true: following ‘true’ branch...
vim91/src/terminal.c:5250:27: branch_true: following ‘true’ branch...
vim91/src/terminal.c:5260:16: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5263:13: branch_false: ...to here
vim91/src/terminal.c:5263:25: branch_true: following ‘true’ branch (when ‘i != 6’)...
vim91/src/terminal.c:5265:25: branch_true: ...to here
vim91/src/terminal.c:5270:20: branch_true: following ‘true’ branch (when ‘i == 0’)...
vim91/src/terminal.c:5272:25: branch_true: ...to here
vim91/src/terminal.c:5280:25: branch_true: following ‘true’ branch...
vim91/src/terminal.c:5282:28: branch_true: ...to here
vim91/src/terminal.c:5282:28: danger: ‘fopen(tv_get_string_chk(argvars + 16), "w")’ leaks here; was allocated at [(19)](sarif:/runs/0/results/61/codeFlows/0/threadFlows/0/locations/18)
# 5280|   	    same_attr = vtermAttr2hl(&cell.attrs)
# 5281|   					      == vtermAttr2hl(&prev_cell.attrs)
# 5282|-> 			&& vterm_color_is_equal(&cell.fg, &prev_cell.fg)
# 5283|   			&& vterm_color_is_equal(&cell.bg, &prev_cell.bg);
# 5284|   	    if (same_chars && cell.width == prev_cell.width && same_attr

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/terminal.c:5283:28: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(tv_get_string_chk(argvars + 16), "w")’
vim91/src/terminal.c:5176:1: enter_function: entry to ‘f_term_dumpwrite’
vim91/src/terminal.c:5191:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5200:11: call_function: calling ‘term_get_buf’ from ‘f_term_dumpwrite’
vim91/src/terminal.c:5200:11: return_function: returning to ‘f_term_dumpwrite’ from ‘term_get_buf’
vim91/src/terminal.c:5201:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5203:5: branch_false: ...to here
vim91/src/terminal.c:5204:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5210:9: branch_false: ...to here
vim91/src/terminal.c:5225:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5227:9: branch_false: ...to here
vim91/src/terminal.c:5227:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5233:9: branch_false: ...to here
vim91/src/terminal.c:5233:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5233:32: branch_false: ...to here
vim91/src/terminal.c:5233:32: acquire_resource: opened here
vim91/src/terminal.c:5233:9: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5239:5: branch_false: ...to here
vim91/src/terminal.c:5245:23: branch_true: following ‘true’ branch...
vim91/src/terminal.c:5250:27: branch_true: following ‘true’ branch...
vim91/src/terminal.c:5263:25: branch_true: following ‘true’ branch (when ‘i != 6’)...
vim91/src/terminal.c:5265:25: branch_true: ...to here
vim91/src/terminal.c:5270:20: branch_true: following ‘true’ branch (when ‘i == 0’)...
vim91/src/terminal.c:5272:25: branch_true: ...to here
vim91/src/terminal.c:5280:25: branch_true: following ‘true’ branch...
vim91/src/terminal.c:5282:28: branch_true: ...to here
vim91/src/terminal.c:5280:25: branch_true: following ‘true’ branch...
vim91/src/terminal.c:5283:28: branch_true: ...to here
vim91/src/terminal.c:5283:28: danger: ‘fopen(tv_get_string_chk(argvars + 16), "w")’ leaks here; was opened at [(19)](sarif:/runs/0/results/62/codeFlows/0/threadFlows/0/locations/18)
# 5281|   					      == vtermAttr2hl(&prev_cell.attrs)
# 5282|   			&& vterm_color_is_equal(&cell.fg, &prev_cell.fg)
# 5283|-> 			&& vterm_color_is_equal(&cell.bg, &prev_cell.bg);
# 5284|   	    if (same_chars && cell.width == prev_cell.width && same_attr
# 5285|   							     && !is_cursor_pos)

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/terminal.c:5283:28: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(tv_get_string_chk(argvars + 16), "w")’
vim91/src/terminal.c:5176:1: enter_function: entry to ‘f_term_dumpwrite’
vim91/src/terminal.c:5191:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5200:11: call_function: calling ‘term_get_buf’ from ‘f_term_dumpwrite’
vim91/src/terminal.c:5200:11: return_function: returning to ‘f_term_dumpwrite’ from ‘term_get_buf’
vim91/src/terminal.c:5201:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5203:5: branch_false: ...to here
vim91/src/terminal.c:5204:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5210:9: branch_false: ...to here
vim91/src/terminal.c:5225:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5227:9: branch_false: ...to here
vim91/src/terminal.c:5227:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5233:9: branch_false: ...to here
vim91/src/terminal.c:5233:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5233:32: branch_false: ...to here
vim91/src/terminal.c:5233:32: acquire_memory: allocated here
vim91/src/terminal.c:5233:9: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5239:5: branch_false: ...to here
vim91/src/terminal.c:5245:23: branch_true: following ‘true’ branch...
vim91/src/terminal.c:5250:27: branch_true: following ‘true’ branch...
vim91/src/terminal.c:5263:25: branch_true: following ‘true’ branch (when ‘i != 6’)...
vim91/src/terminal.c:5265:25: branch_true: ...to here
vim91/src/terminal.c:5270:20: branch_true: following ‘true’ branch (when ‘i == 0’)...
vim91/src/terminal.c:5272:25: branch_true: ...to here
vim91/src/terminal.c:5280:25: branch_true: following ‘true’ branch...
vim91/src/terminal.c:5282:28: branch_true: ...to here
vim91/src/terminal.c:5280:25: branch_true: following ‘true’ branch...
vim91/src/terminal.c:5283:28: branch_true: ...to here
vim91/src/terminal.c:5283:28: danger: ‘fopen(tv_get_string_chk(argvars + 16), "w")’ leaks here; was allocated at [(19)](sarif:/runs/0/results/63/codeFlows/0/threadFlows/0/locations/18)
# 5281|   					      == vtermAttr2hl(&prev_cell.attrs)
# 5282|   			&& vterm_color_is_equal(&cell.fg, &prev_cell.fg)
# 5283|-> 			&& vterm_color_is_equal(&cell.bg, &prev_cell.bg);
# 5284|   	    if (same_chars && cell.width == prev_cell.width && same_attr
# 5285|   							     && !is_cursor_pos)

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/terminal.c:5308:31: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(tv_get_string_chk(argvars + 16), "w")’
vim91/src/terminal.c:5176:1: enter_function: entry to ‘f_term_dumpwrite’
vim91/src/terminal.c:5191:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5200:11: call_function: calling ‘term_get_buf’ from ‘f_term_dumpwrite’
vim91/src/terminal.c:5200:11: return_function: returning to ‘f_term_dumpwrite’ from ‘term_get_buf’
vim91/src/terminal.c:5201:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5203:5: branch_false: ...to here
vim91/src/terminal.c:5204:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5210:9: branch_false: ...to here
vim91/src/terminal.c:5225:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5227:9: branch_false: ...to here
vim91/src/terminal.c:5227:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5233:9: branch_false: ...to here
vim91/src/terminal.c:5233:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5233:32: branch_false: ...to here
vim91/src/terminal.c:5233:32: acquire_resource: opened here
vim91/src/terminal.c:5233:9: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5239:5: branch_false: ...to here
vim91/src/terminal.c:5245:23: branch_true: following ‘true’ branch...
vim91/src/terminal.c:5250:27: branch_true: following ‘true’ branch...
vim91/src/terminal.c:5263:25: branch_true: following ‘true’ branch (when ‘i != 6’)...
vim91/src/terminal.c:5265:25: branch_true: ...to here
vim91/src/terminal.c:5270:20: branch_true: following ‘true’ branch (when ‘i == 0’)...
vim91/src/terminal.c:5272:25: branch_true: ...to here
vim91/src/terminal.c:5280:25: branch_true: following ‘true’ branch...
vim91/src/terminal.c:5282:28: branch_true: ...to here
vim91/src/terminal.c:5291:20: branch_false: following ‘false’ branch (when ‘repeat == 0’)...
vim91/src/terminal.c:5296:17: branch_false: ...to here
vim91/src/terminal.c:5298:20: branch_false: following ‘false’ branch...
<unknown>: branch_false: ...to here
vim91/src/terminal.c:5305:33: branch_true: following ‘true’ branch...
vim91/src/terminal.c:5308:31: danger: ‘fopen(tv_get_string_chk(argvars + 16), "w")’ leaks here; was opened at [(19)](sarif:/runs/0/results/64/codeFlows/0/threadFlows/0/locations/18)
# 5306|   						  && cell.chars[i] != NUL; ++i)
# 5307|   		    {
# 5308|-> 			len = utf_char2bytes(cell.chars[i], charbuf);
# 5309|   			fwrite(charbuf, len, 1, fd);
# 5310|   		    }

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/terminal.c:5308:31: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(tv_get_string_chk(argvars + 16), "w")’
vim91/src/terminal.c:5176:1: enter_function: entry to ‘f_term_dumpwrite’
vim91/src/terminal.c:5191:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5200:11: call_function: calling ‘term_get_buf’ from ‘f_term_dumpwrite’
vim91/src/terminal.c:5200:11: return_function: returning to ‘f_term_dumpwrite’ from ‘term_get_buf’
vim91/src/terminal.c:5201:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5203:5: branch_false: ...to here
vim91/src/terminal.c:5204:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5210:9: branch_false: ...to here
vim91/src/terminal.c:5225:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5227:9: branch_false: ...to here
vim91/src/terminal.c:5227:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5233:9: branch_false: ...to here
vim91/src/terminal.c:5233:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5233:32: branch_false: ...to here
vim91/src/terminal.c:5233:32: acquire_memory: allocated here
vim91/src/terminal.c:5233:9: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5239:5: branch_false: ...to here
vim91/src/terminal.c:5245:23: branch_true: following ‘true’ branch...
vim91/src/terminal.c:5250:27: branch_true: following ‘true’ branch...
vim91/src/terminal.c:5263:25: branch_true: following ‘true’ branch (when ‘i != 6’)...
vim91/src/terminal.c:5265:25: branch_true: ...to here
vim91/src/terminal.c:5270:20: branch_true: following ‘true’ branch (when ‘i == 0’)...
vim91/src/terminal.c:5272:25: branch_true: ...to here
vim91/src/terminal.c:5280:25: branch_true: following ‘true’ branch...
vim91/src/terminal.c:5282:28: branch_true: ...to here
vim91/src/terminal.c:5291:20: branch_false: following ‘false’ branch (when ‘repeat == 0’)...
vim91/src/terminal.c:5296:17: branch_false: ...to here
vim91/src/terminal.c:5298:20: branch_false: following ‘false’ branch...
<unknown>: branch_false: ...to here
vim91/src/terminal.c:5305:33: branch_true: following ‘true’ branch...
vim91/src/terminal.c:5308:31: danger: ‘fopen(tv_get_string_chk(argvars + 16), "w")’ leaks here; was allocated at [(19)](sarif:/runs/0/results/65/codeFlows/0/threadFlows/0/locations/18)
# 5306|   						  && cell.chars[i] != NUL; ++i)
# 5307|   		    {
# 5308|-> 			len = utf_char2bytes(cell.chars[i], charbuf);
# 5309|   			fwrite(charbuf, len, 1, fd);
# 5310|   		    }

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/terminal.c:5330:29: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(tv_get_string_chk(argvars + 16), "w")’
vim91/src/terminal.c:5176:1: enter_function: entry to ‘f_term_dumpwrite’
vim91/src/terminal.c:5191:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5200:11: call_function: calling ‘term_get_buf’ from ‘f_term_dumpwrite’
vim91/src/terminal.c:5200:11: return_function: returning to ‘f_term_dumpwrite’ from ‘term_get_buf’
vim91/src/terminal.c:5201:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5203:5: branch_false: ...to here
vim91/src/terminal.c:5204:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5210:9: branch_false: ...to here
vim91/src/terminal.c:5225:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5227:9: branch_false: ...to here
vim91/src/terminal.c:5227:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5233:9: branch_false: ...to here
vim91/src/terminal.c:5233:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5233:32: branch_false: ...to here
vim91/src/terminal.c:5233:32: acquire_resource: opened here
vim91/src/terminal.c:5233:9: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5239:5: branch_false: ...to here
vim91/src/terminal.c:5245:23: branch_true: following ‘true’ branch...
vim91/src/terminal.c:5250:27: branch_true: following ‘true’ branch...
vim91/src/terminal.c:5263:25: branch_true: following ‘true’ branch (when ‘i != 6’)...
vim91/src/terminal.c:5265:25: branch_true: ...to here
vim91/src/terminal.c:5270:20: branch_true: following ‘true’ branch (when ‘i == 0’)...
vim91/src/terminal.c:5272:25: branch_true: ...to here
vim91/src/terminal.c:5280:25: branch_true: following ‘true’ branch...
vim91/src/terminal.c:5282:28: branch_true: ...to here
vim91/src/terminal.c:5291:20: branch_false: following ‘false’ branch (when ‘repeat == 0’)...
vim91/src/terminal.c:5296:17: branch_false: ...to here
vim91/src/terminal.c:5323:24: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5329:25: branch_false: ...to here
vim91/src/terminal.c:5330:29: danger: ‘fopen(tv_get_string_chk(argvars + 16), "w")’ leaks here; was opened at [(19)](sarif:/runs/0/results/66/codeFlows/0/threadFlows/0/locations/18)
# 5328|   		    {
# 5329|   			fprintf(fd, "%d", vtermAttr2hl(&cell.attrs));
# 5330|-> 			if (vterm_color_is_equal(&cell.fg, &prev_cell.fg))
# 5331|   			    fputs("&", fd);
# 5332|   			else

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/terminal.c:5330:29: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(tv_get_string_chk(argvars + 16), "w")’
vim91/src/terminal.c:5176:1: enter_function: entry to ‘f_term_dumpwrite’
vim91/src/terminal.c:5191:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5200:11: call_function: calling ‘term_get_buf’ from ‘f_term_dumpwrite’
vim91/src/terminal.c:5200:11: return_function: returning to ‘f_term_dumpwrite’ from ‘term_get_buf’
vim91/src/terminal.c:5201:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5203:5: branch_false: ...to here
vim91/src/terminal.c:5204:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5210:9: branch_false: ...to here
vim91/src/terminal.c:5225:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5227:9: branch_false: ...to here
vim91/src/terminal.c:5227:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5233:9: branch_false: ...to here
vim91/src/terminal.c:5233:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5233:32: branch_false: ...to here
vim91/src/terminal.c:5233:32: acquire_memory: allocated here
vim91/src/terminal.c:5233:9: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5239:5: branch_false: ...to here
vim91/src/terminal.c:5245:23: branch_true: following ‘true’ branch...
vim91/src/terminal.c:5250:27: branch_true: following ‘true’ branch...
vim91/src/terminal.c:5263:25: branch_true: following ‘true’ branch (when ‘i != 6’)...
vim91/src/terminal.c:5265:25: branch_true: ...to here
vim91/src/terminal.c:5270:20: branch_true: following ‘true’ branch (when ‘i == 0’)...
vim91/src/terminal.c:5272:25: branch_true: ...to here
vim91/src/terminal.c:5280:25: branch_true: following ‘true’ branch...
vim91/src/terminal.c:5282:28: branch_true: ...to here
vim91/src/terminal.c:5291:20: branch_false: following ‘false’ branch (when ‘repeat == 0’)...
vim91/src/terminal.c:5296:17: branch_false: ...to here
vim91/src/terminal.c:5323:24: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5329:25: branch_false: ...to here
vim91/src/terminal.c:5330:29: danger: ‘fopen(tv_get_string_chk(argvars + 16), "w")’ leaks here; was allocated at [(19)](sarif:/runs/0/results/67/codeFlows/0/threadFlows/0/locations/18)
# 5328|   		    {
# 5329|   			fprintf(fd, "%d", vtermAttr2hl(&cell.attrs));
# 5330|-> 			if (vterm_color_is_equal(&cell.fg, &prev_cell.fg))
# 5331|   			    fputs("&", fd);
# 5332|   			else

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/terminal.c:5337:29: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(tv_get_string_chk(argvars + 16), "w")’
vim91/src/terminal.c:5176:1: enter_function: entry to ‘f_term_dumpwrite’
vim91/src/terminal.c:5191:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5200:11: call_function: calling ‘term_get_buf’ from ‘f_term_dumpwrite’
vim91/src/terminal.c:5200:11: return_function: returning to ‘f_term_dumpwrite’ from ‘term_get_buf’
vim91/src/terminal.c:5201:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5203:5: branch_false: ...to here
vim91/src/terminal.c:5204:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5210:9: branch_false: ...to here
vim91/src/terminal.c:5225:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5227:9: branch_false: ...to here
vim91/src/terminal.c:5227:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5233:9: branch_false: ...to here
vim91/src/terminal.c:5233:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5233:32: branch_false: ...to here
vim91/src/terminal.c:5233:32: acquire_resource: opened here
vim91/src/terminal.c:5233:9: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5239:5: branch_false: ...to here
vim91/src/terminal.c:5245:23: branch_true: following ‘true’ branch...
vim91/src/terminal.c:5250:27: branch_true: following ‘true’ branch...
vim91/src/terminal.c:5263:25: branch_true: following ‘true’ branch (when ‘i != 6’)...
vim91/src/terminal.c:5265:25: branch_true: ...to here
vim91/src/terminal.c:5270:20: branch_true: following ‘true’ branch (when ‘i == 0’)...
vim91/src/terminal.c:5272:25: branch_true: ...to here
vim91/src/terminal.c:5280:25: branch_true: following ‘true’ branch...
vim91/src/terminal.c:5282:28: branch_true: ...to here
vim91/src/terminal.c:5291:20: branch_false: following ‘false’ branch (when ‘repeat == 0’)...
vim91/src/terminal.c:5296:17: branch_false: ...to here
vim91/src/terminal.c:5323:24: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5329:25: branch_false: ...to here
vim91/src/terminal.c:5337:29: danger: ‘fopen(tv_get_string_chk(argvars + 16), "w")’ leaks here; was opened at [(19)](sarif:/runs/0/results/68/codeFlows/0/threadFlows/0/locations/18)
# 5335|   			    dump_term_color(fd, &cell.fg);
# 5336|   			}
# 5337|-> 			if (vterm_color_is_equal(&cell.bg, &prev_cell.bg))
# 5338|   			    fputs("&", fd);
# 5339|   			else

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/terminal.c:5337:29: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(tv_get_string_chk(argvars + 16), "w")’
vim91/src/terminal.c:5176:1: enter_function: entry to ‘f_term_dumpwrite’
vim91/src/terminal.c:5191:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5200:11: call_function: calling ‘term_get_buf’ from ‘f_term_dumpwrite’
vim91/src/terminal.c:5200:11: return_function: returning to ‘f_term_dumpwrite’ from ‘term_get_buf’
vim91/src/terminal.c:5201:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5203:5: branch_false: ...to here
vim91/src/terminal.c:5204:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5210:9: branch_false: ...to here
vim91/src/terminal.c:5225:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5227:9: branch_false: ...to here
vim91/src/terminal.c:5227:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5233:9: branch_false: ...to here
vim91/src/terminal.c:5233:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5233:32: branch_false: ...to here
vim91/src/terminal.c:5233:32: acquire_memory: allocated here
vim91/src/terminal.c:5233:9: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5239:5: branch_false: ...to here
vim91/src/terminal.c:5245:23: branch_true: following ‘true’ branch...
vim91/src/terminal.c:5250:27: branch_true: following ‘true’ branch...
vim91/src/terminal.c:5263:25: branch_true: following ‘true’ branch (when ‘i != 6’)...
vim91/src/terminal.c:5265:25: branch_true: ...to here
vim91/src/terminal.c:5270:20: branch_true: following ‘true’ branch (when ‘i == 0’)...
vim91/src/terminal.c:5272:25: branch_true: ...to here
vim91/src/terminal.c:5280:25: branch_true: following ‘true’ branch...
vim91/src/terminal.c:5282:28: branch_true: ...to here
vim91/src/terminal.c:5291:20: branch_false: following ‘false’ branch (when ‘repeat == 0’)...
vim91/src/terminal.c:5296:17: branch_false: ...to here
vim91/src/terminal.c:5323:24: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5329:25: branch_false: ...to here
vim91/src/terminal.c:5337:29: danger: ‘fopen(tv_get_string_chk(argvars + 16), "w")’ leaks here; was allocated at [(19)](sarif:/runs/0/results/69/codeFlows/0/threadFlows/0/locations/18)
# 5335|   			    dump_term_color(fd, &cell.fg);
# 5336|   			}
# 5337|-> 			if (vterm_color_is_equal(&cell.bg, &prev_cell.bg))
# 5338|   			    fputs("&", fd);
# 5339|   			else

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/terminal.c:5731:16: warning[-Wanalyzer-file-leak]: leak of FILE ‘fd2’
vim91/src/terminal.c:5690:1: enter_function: entry to ‘term_load_dump’
vim91/src/terminal.c:5705:8: branch_true: following ‘true’ branch (when ‘do_diff != 0’)...
vim91/src/terminal.c:5706:18: branch_true: ...to here
vim91/src/terminal.c:5707:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5713:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5718:8: branch_false: ...to here
vim91/src/terminal.c:5718:8: branch_true: following ‘true’ branch (when ‘do_diff != 0’)...
vim91/src/terminal.c:5720:15: branch_true: ...to here
vim91/src/terminal.c:5720:15: acquire_resource: opened here
vim91/src/terminal.c:5721:12: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5729:5: call_function: inlined call to ‘init_job_options’ from ‘term_load_dump’
vim91/src/terminal.c:5730:16: branch_true: following ‘true’ branch...
vim91/src/terminal.c:5731:16: danger: ‘fd2’ leaks here; was opened at [(10)](sarif:/runs/0/results/72/codeFlows/0/threadFlows/0/locations/9)
# 5729|       init_job_options(&opt);
# 5730|       if (argvars[do_diff ? 2 : 1].v_type != VAR_UNKNOWN
# 5731|-> 	    && get_job_options(&argvars[do_diff ? 2 : 1], &opt, 0,
# 5732|   		    JO2_TERM_NAME + JO2_TERM_COLS + JO2_TERM_ROWS
# 5733|   		    + JO2_VERTICAL + JO2_CURWIN + JO2_NORESTORE) == FAIL)

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/terminal.c:5731:16: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(tv_get_string_buf_chk(argvars, & buf1), "r")’
vim91/src/terminal.c:5690:1: enter_function: entry to ‘term_load_dump’
vim91/src/terminal.c:5705:8: branch_false: following ‘false’ branch (when ‘do_diff == 0’)...
vim91/src/terminal.c:5707:8: branch_false: ...to here
vim91/src/terminal.c:5707:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5712:11: acquire_resource: opened here
vim91/src/terminal.c:5713:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5718:8: branch_false: ...to here
vim91/src/terminal.c:5718:8: branch_false: following ‘false’ branch (when ‘do_diff == 0’)...
vim91/src/terminal.c:5729:5: call_function: inlined call to ‘init_job_options’ from ‘term_load_dump’
vim91/src/terminal.c:5730:16: branch_false: following ‘false’ branch (when ‘do_diff == 0’)...
<unknown>: branch_false: ...to here
vim91/src/terminal.c:5730:8: branch_true: following ‘true’ branch...
vim91/src/terminal.c:5731:16: branch_true: ...to here
vim91/src/terminal.c:5731:16: danger: ‘fopen(tv_get_string_buf_chk(argvars, & buf1), "r")’ leaks here; was opened at [(6)](sarif:/runs/0/results/70/codeFlows/0/threadFlows/0/locations/5)
# 5729|       init_job_options(&opt);
# 5730|       if (argvars[do_diff ? 2 : 1].v_type != VAR_UNKNOWN
# 5731|-> 	    && get_job_options(&argvars[do_diff ? 2 : 1], &opt, 0,
# 5732|   		    JO2_TERM_NAME + JO2_TERM_COLS + JO2_TERM_ROWS
# 5733|   		    + JO2_VERTICAL + JO2_CURWIN + JO2_NORESTORE) == FAIL)

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/terminal.c:5731:16: warning[-Wanalyzer-malloc-leak]: leak of ‘fd2’
vim91/src/terminal.c:5690:1: enter_function: entry to ‘term_load_dump’
vim91/src/terminal.c:5705:8: branch_true: following ‘true’ branch (when ‘do_diff != 0’)...
vim91/src/terminal.c:5706:18: branch_true: ...to here
vim91/src/terminal.c:5707:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5713:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5718:8: branch_false: ...to here
vim91/src/terminal.c:5718:8: branch_true: following ‘true’ branch (when ‘do_diff != 0’)...
vim91/src/terminal.c:5720:15: branch_true: ...to here
vim91/src/terminal.c:5720:15: acquire_memory: allocated here
vim91/src/terminal.c:5721:12: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5729:5: call_function: inlined call to ‘init_job_options’ from ‘term_load_dump’
vim91/src/terminal.c:5730:16: branch_true: following ‘true’ branch...
vim91/src/terminal.c:5731:16: danger: ‘fd2’ leaks here; was allocated at [(10)](sarif:/runs/0/results/73/codeFlows/0/threadFlows/0/locations/9)
# 5729|       init_job_options(&opt);
# 5730|       if (argvars[do_diff ? 2 : 1].v_type != VAR_UNKNOWN
# 5731|-> 	    && get_job_options(&argvars[do_diff ? 2 : 1], &opt, 0,
# 5732|   		    JO2_TERM_NAME + JO2_TERM_COLS + JO2_TERM_ROWS
# 5733|   		    + JO2_VERTICAL + JO2_CURWIN + JO2_NORESTORE) == FAIL)

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/terminal.c:5731:16: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(tv_get_string_buf_chk(argvars, & buf1), "r")’
vim91/src/terminal.c:5690:1: enter_function: entry to ‘term_load_dump’
vim91/src/terminal.c:5705:8: branch_false: following ‘false’ branch (when ‘do_diff == 0’)...
vim91/src/terminal.c:5707:8: branch_false: ...to here
vim91/src/terminal.c:5707:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5712:11: acquire_memory: allocated here
vim91/src/terminal.c:5713:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5718:8: branch_false: ...to here
vim91/src/terminal.c:5718:8: branch_false: following ‘false’ branch (when ‘do_diff == 0’)...
vim91/src/terminal.c:5729:5: call_function: inlined call to ‘init_job_options’ from ‘term_load_dump’
vim91/src/terminal.c:5730:16: branch_false: following ‘false’ branch (when ‘do_diff == 0’)...
<unknown>: branch_false: ...to here
vim91/src/terminal.c:5730:8: branch_true: following ‘true’ branch...
vim91/src/terminal.c:5731:16: branch_true: ...to here
vim91/src/terminal.c:5731:16: danger: ‘fopen(tv_get_string_buf_chk(argvars, & buf1), "r")’ leaks here; was allocated at [(6)](sarif:/runs/0/results/71/codeFlows/0/threadFlows/0/locations/5)
# 5729|       init_job_options(&opt);
# 5730|       if (argvars[do_diff ? 2 : 1].v_type != VAR_UNKNOWN
# 5731|-> 	    && get_job_options(&argvars[do_diff ? 2 : 1], &opt, 0,
# 5732|   		    JO2_TERM_NAME + JO2_TERM_COLS + JO2_TERM_ROWS
# 5733|   		    + JO2_VERTICAL + JO2_CURWIN + JO2_NORESTORE) == FAIL)

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/terminal.c:5740:24: warning[-Wanalyzer-file-leak]: leak of FILE ‘fd2’
vim91/src/terminal.c:5690:1: enter_function: entry to ‘term_load_dump’
vim91/src/terminal.c:5705:8: branch_true: following ‘true’ branch (when ‘do_diff != 0’)...
vim91/src/terminal.c:5706:18: branch_true: ...to here
vim91/src/terminal.c:5707:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5713:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5718:8: branch_false: ...to here
vim91/src/terminal.c:5718:8: branch_true: following ‘true’ branch (when ‘do_diff != 0’)...
vim91/src/terminal.c:5720:15: branch_true: ...to here
vim91/src/terminal.c:5720:15: acquire_resource: opened here
vim91/src/terminal.c:5721:12: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5729:5: call_function: inlined call to ‘init_job_options’ from ‘term_load_dump’
vim91/src/terminal.c:5730:16: branch_true: following ‘true’ branch (when ‘do_diff != 0’)...
vim91/src/terminal.c:5730:16: branch_true: ...to here
vim91/src/terminal.c:5730:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5736:9: branch_false: ...to here
vim91/src/terminal.c:5736:8: branch_true: following ‘true’ branch...
vim91/src/terminal.c:5738:22: branch_true: ...to here
vim91/src/terminal.c:5740:24: danger: ‘fd2’ leaks here; was opened at [(10)](sarif:/runs/0/results/76/codeFlows/0/threadFlows/0/locations/9)
# 5738|   	size_t len = STRLEN(fname1) + 12;
# 5739|   
# 5740|-> 	fname_tofree = alloc(len);
# 5741|   	if (fname_tofree != NULL)
# 5742|   	{

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/terminal.c:5740:24: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(tv_get_string_buf_chk(argvars, & buf1), "r")’
vim91/src/terminal.c:5690:1: enter_function: entry to ‘term_load_dump’
vim91/src/terminal.c:5705:8: branch_false: following ‘false’ branch (when ‘do_diff == 0’)...
vim91/src/terminal.c:5707:8: branch_false: ...to here
vim91/src/terminal.c:5707:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5712:11: acquire_resource: opened here
vim91/src/terminal.c:5713:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5718:8: branch_false: ...to here
vim91/src/terminal.c:5718:8: branch_false: following ‘false’ branch (when ‘do_diff == 0’)...
vim91/src/terminal.c:5729:5: call_function: inlined call to ‘init_job_options’ from ‘term_load_dump’
vim91/src/terminal.c:5730:16: branch_false: following ‘false’ branch (when ‘do_diff == 0’)...
<unknown>: branch_false: ...to here
vim91/src/terminal.c:5730:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5736:9: branch_false: ...to here
vim91/src/terminal.c:5736:8: branch_true: following ‘true’ branch...
vim91/src/terminal.c:5738:22: branch_true: ...to here
vim91/src/terminal.c:5740:24: danger: ‘fopen(tv_get_string_buf_chk(argvars, & buf1), "r")’ leaks here; was opened at [(6)](sarif:/runs/0/results/74/codeFlows/0/threadFlows/0/locations/5)
# 5738|   	size_t len = STRLEN(fname1) + 12;
# 5739|   
# 5740|-> 	fname_tofree = alloc(len);
# 5741|   	if (fname_tofree != NULL)
# 5742|   	{

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/terminal.c:5740:24: warning[-Wanalyzer-malloc-leak]: leak of ‘fd2’
vim91/src/terminal.c:5690:1: enter_function: entry to ‘term_load_dump’
vim91/src/terminal.c:5705:8: branch_true: following ‘true’ branch (when ‘do_diff != 0’)...
vim91/src/terminal.c:5706:18: branch_true: ...to here
vim91/src/terminal.c:5707:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5713:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5718:8: branch_false: ...to here
vim91/src/terminal.c:5718:8: branch_true: following ‘true’ branch (when ‘do_diff != 0’)...
vim91/src/terminal.c:5720:15: branch_true: ...to here
vim91/src/terminal.c:5720:15: acquire_memory: allocated here
vim91/src/terminal.c:5721:12: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5729:5: call_function: inlined call to ‘init_job_options’ from ‘term_load_dump’
vim91/src/terminal.c:5730:16: branch_true: following ‘true’ branch (when ‘do_diff != 0’)...
vim91/src/terminal.c:5730:16: branch_true: ...to here
vim91/src/terminal.c:5730:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5736:9: branch_false: ...to here
vim91/src/terminal.c:5736:8: branch_true: following ‘true’ branch...
vim91/src/terminal.c:5738:22: branch_true: ...to here
vim91/src/terminal.c:5740:24: danger: ‘fd2’ leaks here; was allocated at [(10)](sarif:/runs/0/results/77/codeFlows/0/threadFlows/0/locations/9)
# 5738|   	size_t len = STRLEN(fname1) + 12;
# 5739|   
# 5740|-> 	fname_tofree = alloc(len);
# 5741|   	if (fname_tofree != NULL)
# 5742|   	{

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/terminal.c:5740:24: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(tv_get_string_buf_chk(argvars, & buf1), "r")’
vim91/src/terminal.c:5690:1: enter_function: entry to ‘term_load_dump’
vim91/src/terminal.c:5705:8: branch_false: following ‘false’ branch (when ‘do_diff == 0’)...
vim91/src/terminal.c:5707:8: branch_false: ...to here
vim91/src/terminal.c:5707:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5712:11: acquire_memory: allocated here
vim91/src/terminal.c:5713:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5718:8: branch_false: ...to here
vim91/src/terminal.c:5718:8: branch_false: following ‘false’ branch (when ‘do_diff == 0’)...
vim91/src/terminal.c:5729:5: call_function: inlined call to ‘init_job_options’ from ‘term_load_dump’
vim91/src/terminal.c:5730:16: branch_false: following ‘false’ branch (when ‘do_diff == 0’)...
<unknown>: branch_false: ...to here
vim91/src/terminal.c:5730:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5736:9: branch_false: ...to here
vim91/src/terminal.c:5736:8: branch_true: following ‘true’ branch...
vim91/src/terminal.c:5738:22: branch_true: ...to here
vim91/src/terminal.c:5740:24: danger: ‘fopen(tv_get_string_buf_chk(argvars, & buf1), "r")’ leaks here; was allocated at [(6)](sarif:/runs/0/results/75/codeFlows/0/threadFlows/0/locations/5)
# 5738|   	size_t len = STRLEN(fname1) + 12;
# 5739|   
# 5740|-> 	fname_tofree = alloc(len);
# 5741|   	if (fname_tofree != NULL)
# 5742|   	{

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/terminal.c:5743:13: warning[-Wanalyzer-file-leak]: leak of FILE ‘fd2’
vim91/src/terminal.c:5690:1: enter_function: entry to ‘term_load_dump’
vim91/src/terminal.c:5705:8: branch_true: following ‘true’ branch (when ‘do_diff != 0’)...
vim91/src/terminal.c:5706:18: branch_true: ...to here
vim91/src/terminal.c:5707:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5713:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5718:8: branch_false: ...to here
vim91/src/terminal.c:5718:8: branch_true: following ‘true’ branch (when ‘do_diff != 0’)...
vim91/src/terminal.c:5720:15: branch_true: ...to here
vim91/src/terminal.c:5720:15: acquire_resource: opened here
vim91/src/terminal.c:5721:12: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5729:5: call_function: inlined call to ‘init_job_options’ from ‘term_load_dump’
vim91/src/terminal.c:5730:16: branch_true: following ‘true’ branch (when ‘do_diff != 0’)...
vim91/src/terminal.c:5730:16: branch_true: ...to here
vim91/src/terminal.c:5736:8: branch_true: following ‘true’ branch...
vim91/src/terminal.c:5738:22: branch_true: ...to here
vim91/src/terminal.c:5741:12: branch_true: following ‘true’ branch...
vim91/src/terminal.c:5743:13: branch_true: ...to here
vim91/src/terminal.c:5743:13: danger: ‘fd2’ leaks here; was opened at [(10)](sarif:/runs/0/results/80/codeFlows/0/threadFlows/0/locations/9)
# 5741|   	if (fname_tofree != NULL)
# 5742|   	{
# 5743|-> 	    vim_snprintf((char *)fname_tofree, len, "dump diff %s", fname1);
# 5744|   	    opt.jo_term_name = fname_tofree;
# 5745|   	}

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/terminal.c:5743:13: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(tv_get_string_buf_chk(argvars, & buf1), "r")’
vim91/src/terminal.c:5690:1: enter_function: entry to ‘term_load_dump’
vim91/src/terminal.c:5705:8: branch_false: following ‘false’ branch (when ‘do_diff == 0’)...
vim91/src/terminal.c:5707:8: branch_false: ...to here
vim91/src/terminal.c:5707:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5712:11: acquire_resource: opened here
vim91/src/terminal.c:5713:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5718:8: branch_false: ...to here
vim91/src/terminal.c:5718:8: branch_false: following ‘false’ branch (when ‘do_diff == 0’)...
vim91/src/terminal.c:5729:5: call_function: inlined call to ‘init_job_options’ from ‘term_load_dump’
vim91/src/terminal.c:5730:16: branch_false: following ‘false’ branch (when ‘do_diff == 0’)...
<unknown>: branch_false: ...to here
vim91/src/terminal.c:5736:8: branch_true: following ‘true’ branch...
vim91/src/terminal.c:5738:22: branch_true: ...to here
vim91/src/terminal.c:5741:12: branch_true: following ‘true’ branch...
vim91/src/terminal.c:5743:13: branch_true: ...to here
vim91/src/terminal.c:5743:13: danger: ‘fopen(tv_get_string_buf_chk(argvars, & buf1), "r")’ leaks here; was opened at [(6)](sarif:/runs/0/results/78/codeFlows/0/threadFlows/0/locations/5)
# 5741|   	if (fname_tofree != NULL)
# 5742|   	{
# 5743|-> 	    vim_snprintf((char *)fname_tofree, len, "dump diff %s", fname1);
# 5744|   	    opt.jo_term_name = fname_tofree;
# 5745|   	}

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/terminal.c:5743:13: warning[-Wanalyzer-malloc-leak]: leak of ‘fd2’
vim91/src/terminal.c:5690:1: enter_function: entry to ‘term_load_dump’
vim91/src/terminal.c:5705:8: branch_true: following ‘true’ branch (when ‘do_diff != 0’)...
vim91/src/terminal.c:5706:18: branch_true: ...to here
vim91/src/terminal.c:5707:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5713:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5718:8: branch_false: ...to here
vim91/src/terminal.c:5718:8: branch_true: following ‘true’ branch (when ‘do_diff != 0’)...
vim91/src/terminal.c:5720:15: branch_true: ...to here
vim91/src/terminal.c:5720:15: acquire_memory: allocated here
vim91/src/terminal.c:5721:12: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5729:5: call_function: inlined call to ‘init_job_options’ from ‘term_load_dump’
vim91/src/terminal.c:5730:16: branch_true: following ‘true’ branch (when ‘do_diff != 0’)...
vim91/src/terminal.c:5730:16: branch_true: ...to here
vim91/src/terminal.c:5736:8: branch_true: following ‘true’ branch...
vim91/src/terminal.c:5738:22: branch_true: ...to here
vim91/src/terminal.c:5741:12: branch_true: following ‘true’ branch...
vim91/src/terminal.c:5743:13: branch_true: ...to here
vim91/src/terminal.c:5743:13: danger: ‘fd2’ leaks here; was allocated at [(10)](sarif:/runs/0/results/81/codeFlows/0/threadFlows/0/locations/9)
# 5741|   	if (fname_tofree != NULL)
# 5742|   	{
# 5743|-> 	    vim_snprintf((char *)fname_tofree, len, "dump diff %s", fname1);
# 5744|   	    opt.jo_term_name = fname_tofree;
# 5745|   	}

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/terminal.c:5743:13: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(tv_get_string_buf_chk(argvars, & buf1), "r")’
vim91/src/terminal.c:5690:1: enter_function: entry to ‘term_load_dump’
vim91/src/terminal.c:5705:8: branch_false: following ‘false’ branch (when ‘do_diff == 0’)...
vim91/src/terminal.c:5707:8: branch_false: ...to here
vim91/src/terminal.c:5707:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5712:11: acquire_memory: allocated here
vim91/src/terminal.c:5713:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5718:8: branch_false: ...to here
vim91/src/terminal.c:5718:8: branch_false: following ‘false’ branch (when ‘do_diff == 0’)...
vim91/src/terminal.c:5729:5: call_function: inlined call to ‘init_job_options’ from ‘term_load_dump’
vim91/src/terminal.c:5730:16: branch_false: following ‘false’ branch (when ‘do_diff == 0’)...
<unknown>: branch_false: ...to here
vim91/src/terminal.c:5736:8: branch_true: following ‘true’ branch...
vim91/src/terminal.c:5738:22: branch_true: ...to here
vim91/src/terminal.c:5741:12: branch_true: following ‘true’ branch...
vim91/src/terminal.c:5743:13: branch_true: ...to here
vim91/src/terminal.c:5743:13: danger: ‘fopen(tv_get_string_buf_chk(argvars, & buf1), "r")’ leaks here; was allocated at [(6)](sarif:/runs/0/results/79/codeFlows/0/threadFlows/0/locations/5)
# 5741|   	if (fname_tofree != NULL)
# 5742|   	{
# 5743|-> 	    vim_snprintf((char *)fname_tofree, len, "dump diff %s", fname1);
# 5744|   	    opt.jo_term_name = fname_tofree;
# 5745|   	}

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/terminal.c:5750:21: warning[-Wanalyzer-file-leak]: leak of FILE ‘fd2’
vim91/src/terminal.c:5690:1: enter_function: entry to ‘term_load_dump’
vim91/src/terminal.c:5705:8: branch_true: following ‘true’ branch (when ‘do_diff != 0’)...
vim91/src/terminal.c:5706:18: branch_true: ...to here
vim91/src/terminal.c:5707:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5713:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5718:8: branch_false: ...to here
vim91/src/terminal.c:5718:8: branch_true: following ‘true’ branch (when ‘do_diff != 0’)...
vim91/src/terminal.c:5720:15: branch_true: ...to here
vim91/src/terminal.c:5720:15: acquire_resource: opened here
vim91/src/terminal.c:5721:12: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5729:5: call_function: inlined call to ‘init_job_options’ from ‘term_load_dump’
vim91/src/terminal.c:5730:16: branch_true: following ‘true’ branch (when ‘do_diff != 0’)...
vim91/src/terminal.c:5730:16: branch_true: ...to here
vim91/src/terminal.c:5730:9: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5736:9: branch_false: ...to here
vim91/src/terminal.c:5748:8: branch_true: following ‘true’ branch...
vim91/src/terminal.c:5750:21: branch_true: ...to here
vim91/src/terminal.c:5750:21: danger: ‘fd2’ leaks here; was opened at [(10)](sarif:/runs/0/results/84/codeFlows/0/threadFlows/0/locations/9)
# 5748|       if (opt.jo_bufnr_buf != NULL)
# 5749|       {
# 5750|-> 	win_T *wp = buf_jump_open_win(opt.jo_bufnr_buf);
# 5751|   
# 5752|   	// With "bufnr" argument: enter the window with this buffer and make it

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/terminal.c:5750:21: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(tv_get_string_buf_chk(argvars, & buf1), "r")’
vim91/src/terminal.c:5690:1: enter_function: entry to ‘term_load_dump’
vim91/src/terminal.c:5705:8: branch_false: following ‘false’ branch (when ‘do_diff == 0’)...
vim91/src/terminal.c:5707:8: branch_false: ...to here
vim91/src/terminal.c:5707:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5712:11: acquire_resource: opened here
vim91/src/terminal.c:5713:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5718:8: branch_false: ...to here
vim91/src/terminal.c:5718:8: branch_false: following ‘false’ branch (when ‘do_diff == 0’)...
vim91/src/terminal.c:5729:5: call_function: inlined call to ‘init_job_options’ from ‘term_load_dump’
vim91/src/terminal.c:5730:16: branch_false: following ‘false’ branch (when ‘do_diff == 0’)...
<unknown>: branch_false: ...to here
vim91/src/terminal.c:5730:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5736:9: branch_false: ...to here
vim91/src/terminal.c:5736:8: branch_false: following ‘false’ branch...
<unknown>: branch_false: ...to here
vim91/src/terminal.c:5748:8: branch_true: following ‘true’ branch...
vim91/src/terminal.c:5750:21: branch_true: ...to here
vim91/src/terminal.c:5750:21: danger: ‘fopen(tv_get_string_buf_chk(argvars, & buf1), "r")’ leaks here; was opened at [(6)](sarif:/runs/0/results/82/codeFlows/0/threadFlows/0/locations/5)
# 5748|       if (opt.jo_bufnr_buf != NULL)
# 5749|       {
# 5750|-> 	win_T *wp = buf_jump_open_win(opt.jo_bufnr_buf);
# 5751|   
# 5752|   	// With "bufnr" argument: enter the window with this buffer and make it

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/terminal.c:5750:21: warning[-Wanalyzer-malloc-leak]: leak of ‘fd2’
vim91/src/terminal.c:5690:1: enter_function: entry to ‘term_load_dump’
vim91/src/terminal.c:5705:8: branch_true: following ‘true’ branch (when ‘do_diff != 0’)...
vim91/src/terminal.c:5706:18: branch_true: ...to here
vim91/src/terminal.c:5707:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5713:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5718:8: branch_false: ...to here
vim91/src/terminal.c:5718:8: branch_true: following ‘true’ branch (when ‘do_diff != 0’)...
vim91/src/terminal.c:5720:15: branch_true: ...to here
vim91/src/terminal.c:5720:15: acquire_memory: allocated here
vim91/src/terminal.c:5721:12: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5729:5: call_function: inlined call to ‘init_job_options’ from ‘term_load_dump’
vim91/src/terminal.c:5730:16: branch_true: following ‘true’ branch (when ‘do_diff != 0’)...
vim91/src/terminal.c:5730:16: branch_true: ...to here
vim91/src/terminal.c:5730:9: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5736:9: branch_false: ...to here
vim91/src/terminal.c:5748:8: branch_true: following ‘true’ branch...
vim91/src/terminal.c:5750:21: branch_true: ...to here
vim91/src/terminal.c:5750:21: danger: ‘fd2’ leaks here; was allocated at [(10)](sarif:/runs/0/results/85/codeFlows/0/threadFlows/0/locations/9)
# 5748|       if (opt.jo_bufnr_buf != NULL)
# 5749|       {
# 5750|-> 	win_T *wp = buf_jump_open_win(opt.jo_bufnr_buf);
# 5751|   
# 5752|   	// With "bufnr" argument: enter the window with this buffer and make it

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/terminal.c:5750:21: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(tv_get_string_buf_chk(argvars, & buf1), "r")’
vim91/src/terminal.c:5690:1: enter_function: entry to ‘term_load_dump’
vim91/src/terminal.c:5705:8: branch_false: following ‘false’ branch (when ‘do_diff == 0’)...
vim91/src/terminal.c:5707:8: branch_false: ...to here
vim91/src/terminal.c:5707:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5712:11: acquire_memory: allocated here
vim91/src/terminal.c:5713:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5718:8: branch_false: ...to here
vim91/src/terminal.c:5718:8: branch_false: following ‘false’ branch (when ‘do_diff == 0’)...
vim91/src/terminal.c:5729:5: call_function: inlined call to ‘init_job_options’ from ‘term_load_dump’
vim91/src/terminal.c:5730:16: branch_false: following ‘false’ branch (when ‘do_diff == 0’)...
<unknown>: branch_false: ...to here
vim91/src/terminal.c:5730:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5736:9: branch_false: ...to here
vim91/src/terminal.c:5736:8: branch_false: following ‘false’ branch...
<unknown>: branch_false: ...to here
vim91/src/terminal.c:5748:8: branch_true: following ‘true’ branch...
vim91/src/terminal.c:5750:21: branch_true: ...to here
vim91/src/terminal.c:5750:21: danger: ‘fopen(tv_get_string_buf_chk(argvars, & buf1), "r")’ leaks here; was allocated at [(6)](sarif:/runs/0/results/83/codeFlows/0/threadFlows/0/locations/5)
# 5748|       if (opt.jo_bufnr_buf != NULL)
# 5749|       {
# 5750|-> 	win_T *wp = buf_jump_open_win(opt.jo_bufnr_buf);
# 5751|   
# 5752|   	// With "bufnr" argument: enter the window with this buffer and make it

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/terminal.c:5755:13: warning[-Wanalyzer-file-leak]: leak of FILE ‘fd2’
vim91/src/terminal.c:5690:1: enter_function: entry to ‘term_load_dump’
vim91/src/terminal.c:5705:8: branch_true: following ‘true’ branch (when ‘do_diff != 0’)...
vim91/src/terminal.c:5706:18: branch_true: ...to here
vim91/src/terminal.c:5707:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5713:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5718:8: branch_false: ...to here
vim91/src/terminal.c:5718:8: branch_true: following ‘true’ branch (when ‘do_diff != 0’)...
vim91/src/terminal.c:5720:15: branch_true: ...to here
vim91/src/terminal.c:5720:15: acquire_resource: opened here
vim91/src/terminal.c:5721:12: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5729:5: call_function: inlined call to ‘init_job_options’ from ‘term_load_dump’
vim91/src/terminal.c:5730:16: branch_true: following ‘true’ branch (when ‘do_diff != 0’)...
vim91/src/terminal.c:5730:16: branch_true: ...to here
vim91/src/terminal.c:5748:8: branch_true: following ‘true’ branch...
vim91/src/terminal.c:5750:21: branch_true: ...to here
vim91/src/terminal.c:5754:12: branch_true: following ‘true’ branch...
vim91/src/terminal.c:5755:19: branch_true: ...to here
vim91/src/terminal.c:5755:13: danger: ‘fd2’ leaks here; was opened at [(10)](sarif:/runs/0/results/88/codeFlows/0/threadFlows/0/locations/9)
# 5753|   	// empty.
# 5754|   	if (wp == NULL)
# 5755|-> 	    semsg(_(e_invalid_argument_str), "bufnr");
# 5756|   	else
# 5757|   	{

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/terminal.c:5755:13: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(tv_get_string_buf_chk(argvars, & buf1), "r")’
vim91/src/terminal.c:5690:1: enter_function: entry to ‘term_load_dump’
vim91/src/terminal.c:5705:8: branch_false: following ‘false’ branch (when ‘do_diff == 0’)...
vim91/src/terminal.c:5707:8: branch_false: ...to here
vim91/src/terminal.c:5707:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5712:11: acquire_resource: opened here
vim91/src/terminal.c:5713:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5718:8: branch_false: ...to here
vim91/src/terminal.c:5718:8: branch_false: following ‘false’ branch (when ‘do_diff == 0’)...
vim91/src/terminal.c:5729:5: call_function: inlined call to ‘init_job_options’ from ‘term_load_dump’
vim91/src/terminal.c:5730:16: branch_false: following ‘false’ branch (when ‘do_diff == 0’)...
<unknown>: branch_false: ...to here
vim91/src/terminal.c:5748:8: branch_true: following ‘true’ branch...
vim91/src/terminal.c:5750:21: branch_true: ...to here
vim91/src/terminal.c:5754:12: branch_true: following ‘true’ branch...
vim91/src/terminal.c:5755:19: branch_true: ...to here
vim91/src/terminal.c:5755:13: danger: ‘fopen(tv_get_string_buf_chk(argvars, & buf1), "r")’ leaks here; was opened at [(6)](sarif:/runs/0/results/86/codeFlows/0/threadFlows/0/locations/5)
# 5753|   	// empty.
# 5754|   	if (wp == NULL)
# 5755|-> 	    semsg(_(e_invalid_argument_str), "bufnr");
# 5756|   	else
# 5757|   	{

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/terminal.c:5755:13: warning[-Wanalyzer-malloc-leak]: leak of ‘fd2’
vim91/src/terminal.c:5690:1: enter_function: entry to ‘term_load_dump’
vim91/src/terminal.c:5705:8: branch_true: following ‘true’ branch (when ‘do_diff != 0’)...
vim91/src/terminal.c:5706:18: branch_true: ...to here
vim91/src/terminal.c:5707:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5713:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5718:8: branch_false: ...to here
vim91/src/terminal.c:5718:8: branch_true: following ‘true’ branch (when ‘do_diff != 0’)...
vim91/src/terminal.c:5720:15: branch_true: ...to here
vim91/src/terminal.c:5720:15: acquire_memory: allocated here
vim91/src/terminal.c:5721:12: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5729:5: call_function: inlined call to ‘init_job_options’ from ‘term_load_dump’
vim91/src/terminal.c:5730:16: branch_true: following ‘true’ branch (when ‘do_diff != 0’)...
vim91/src/terminal.c:5730:16: branch_true: ...to here
vim91/src/terminal.c:5748:8: branch_true: following ‘true’ branch...
vim91/src/terminal.c:5750:21: branch_true: ...to here
vim91/src/terminal.c:5754:12: branch_true: following ‘true’ branch...
vim91/src/terminal.c:5755:19: branch_true: ...to here
vim91/src/terminal.c:5755:13: danger: ‘fd2’ leaks here; was allocated at [(10)](sarif:/runs/0/results/89/codeFlows/0/threadFlows/0/locations/9)
# 5753|   	// empty.
# 5754|   	if (wp == NULL)
# 5755|-> 	    semsg(_(e_invalid_argument_str), "bufnr");
# 5756|   	else
# 5757|   	{

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/terminal.c:5755:13: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(tv_get_string_buf_chk(argvars, & buf1), "r")’
vim91/src/terminal.c:5690:1: enter_function: entry to ‘term_load_dump’
vim91/src/terminal.c:5705:8: branch_false: following ‘false’ branch (when ‘do_diff == 0’)...
vim91/src/terminal.c:5707:8: branch_false: ...to here
vim91/src/terminal.c:5707:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5712:11: acquire_memory: allocated here
vim91/src/terminal.c:5713:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5718:8: branch_false: ...to here
vim91/src/terminal.c:5718:8: branch_false: following ‘false’ branch (when ‘do_diff == 0’)...
vim91/src/terminal.c:5729:5: call_function: inlined call to ‘init_job_options’ from ‘term_load_dump’
vim91/src/terminal.c:5730:16: branch_false: following ‘false’ branch (when ‘do_diff == 0’)...
<unknown>: branch_false: ...to here
vim91/src/terminal.c:5748:8: branch_true: following ‘true’ branch...
vim91/src/terminal.c:5750:21: branch_true: ...to here
vim91/src/terminal.c:5754:12: branch_true: following ‘true’ branch...
vim91/src/terminal.c:5755:19: branch_true: ...to here
vim91/src/terminal.c:5755:13: danger: ‘fopen(tv_get_string_buf_chk(argvars, & buf1), "r")’ leaks here; was allocated at [(6)](sarif:/runs/0/results/87/codeFlows/0/threadFlows/0/locations/5)
# 5753|   	// empty.
# 5754|   	if (wp == NULL)
# 5755|-> 	    semsg(_(e_invalid_argument_str), "bufnr");
# 5756|   	else
# 5757|   	{

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/terminal.c:5760:17: warning[-Wanalyzer-file-leak]: leak of FILE ‘fd2’
vim91/src/terminal.c:5690:1: enter_function: entry to ‘term_load_dump’
vim91/src/terminal.c:5705:8: branch_true: following ‘true’ branch (when ‘do_diff != 0’)...
vim91/src/terminal.c:5706:18: branch_true: ...to here
vim91/src/terminal.c:5707:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5713:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5718:8: branch_false: ...to here
vim91/src/terminal.c:5718:8: branch_true: following ‘true’ branch (when ‘do_diff != 0’)...
vim91/src/terminal.c:5720:15: branch_true: ...to here
vim91/src/terminal.c:5720:15: acquire_resource: opened here
vim91/src/terminal.c:5721:12: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5729:5: call_function: inlined call to ‘init_job_options’ from ‘term_load_dump’
vim91/src/terminal.c:5730:16: branch_true: following ‘true’ branch (when ‘do_diff != 0’)...
vim91/src/terminal.c:5730:16: branch_true: ...to here
vim91/src/terminal.c:5748:8: branch_true: following ‘true’ branch...
vim91/src/terminal.c:5750:21: branch_true: ...to here
vim91/src/terminal.c:5754:12: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5758:13: branch_false: ...to here
vim91/src/terminal.c:5759:20: branch_true: following ‘true’ branch...
vim91/src/terminal.c:5760:17: branch_true: ...to here
vim91/src/terminal.c:5760:17: danger: ‘fd2’ leaks here; was opened at [(10)](sarif:/runs/0/results/92/codeFlows/0/threadFlows/0/locations/9)
# 5758|   	    buf = curbuf;
# 5759|   	    while (!(curbuf->b_ml.ml_flags & ML_EMPTY))
# 5760|-> 		ml_delete((linenr_T)1);
# 5761|   	    free_scrollback(curbuf->b_term);
# 5762|   	    redraw_later(UPD_NOT_VALID);

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/terminal.c:5760:17: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(tv_get_string_buf_chk(argvars, & buf1), "r")’
vim91/src/terminal.c:5690:1: enter_function: entry to ‘term_load_dump’
vim91/src/terminal.c:5705:8: branch_false: following ‘false’ branch (when ‘do_diff == 0’)...
vim91/src/terminal.c:5707:8: branch_false: ...to here
vim91/src/terminal.c:5707:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5712:11: acquire_resource: opened here
vim91/src/terminal.c:5713:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5718:8: branch_false: ...to here
vim91/src/terminal.c:5718:8: branch_false: following ‘false’ branch (when ‘do_diff == 0’)...
vim91/src/terminal.c:5729:5: call_function: inlined call to ‘init_job_options’ from ‘term_load_dump’
vim91/src/terminal.c:5730:16: branch_false: following ‘false’ branch (when ‘do_diff == 0’)...
<unknown>: branch_false: ...to here
vim91/src/terminal.c:5748:8: branch_true: following ‘true’ branch...
vim91/src/terminal.c:5750:21: branch_true: ...to here
vim91/src/terminal.c:5754:12: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5758:13: branch_false: ...to here
vim91/src/terminal.c:5759:20: branch_true: following ‘true’ branch...
vim91/src/terminal.c:5760:17: branch_true: ...to here
vim91/src/terminal.c:5760:17: danger: ‘fopen(tv_get_string_buf_chk(argvars, & buf1), "r")’ leaks here; was opened at [(6)](sarif:/runs/0/results/90/codeFlows/0/threadFlows/0/locations/5)
# 5758|   	    buf = curbuf;
# 5759|   	    while (!(curbuf->b_ml.ml_flags & ML_EMPTY))
# 5760|-> 		ml_delete((linenr_T)1);
# 5761|   	    free_scrollback(curbuf->b_term);
# 5762|   	    redraw_later(UPD_NOT_VALID);

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/terminal.c:5760:17: warning[-Wanalyzer-malloc-leak]: leak of ‘fd2’
vim91/src/terminal.c:5690:1: enter_function: entry to ‘term_load_dump’
vim91/src/terminal.c:5705:8: branch_true: following ‘true’ branch (when ‘do_diff != 0’)...
vim91/src/terminal.c:5706:18: branch_true: ...to here
vim91/src/terminal.c:5707:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5713:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5718:8: branch_false: ...to here
vim91/src/terminal.c:5718:8: branch_true: following ‘true’ branch (when ‘do_diff != 0’)...
vim91/src/terminal.c:5720:15: branch_true: ...to here
vim91/src/terminal.c:5720:15: acquire_memory: allocated here
vim91/src/terminal.c:5721:12: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5729:5: call_function: inlined call to ‘init_job_options’ from ‘term_load_dump’
vim91/src/terminal.c:5730:16: branch_true: following ‘true’ branch (when ‘do_diff != 0’)...
vim91/src/terminal.c:5730:16: branch_true: ...to here
vim91/src/terminal.c:5748:8: branch_true: following ‘true’ branch...
vim91/src/terminal.c:5750:21: branch_true: ...to here
vim91/src/terminal.c:5754:12: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5758:13: branch_false: ...to here
vim91/src/terminal.c:5759:20: branch_true: following ‘true’ branch...
vim91/src/terminal.c:5760:17: branch_true: ...to here
vim91/src/terminal.c:5760:17: danger: ‘fd2’ leaks here; was allocated at [(10)](sarif:/runs/0/results/93/codeFlows/0/threadFlows/0/locations/9)
# 5758|   	    buf = curbuf;
# 5759|   	    while (!(curbuf->b_ml.ml_flags & ML_EMPTY))
# 5760|-> 		ml_delete((linenr_T)1);
# 5761|   	    free_scrollback(curbuf->b_term);
# 5762|   	    redraw_later(UPD_NOT_VALID);

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/terminal.c:5760:17: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(tv_get_string_buf_chk(argvars, & buf1), "r")’
vim91/src/terminal.c:5690:1: enter_function: entry to ‘term_load_dump’
vim91/src/terminal.c:5705:8: branch_false: following ‘false’ branch (when ‘do_diff == 0’)...
vim91/src/terminal.c:5707:8: branch_false: ...to here
vim91/src/terminal.c:5707:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5712:11: acquire_memory: allocated here
vim91/src/terminal.c:5713:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5718:8: branch_false: ...to here
vim91/src/terminal.c:5718:8: branch_false: following ‘false’ branch (when ‘do_diff == 0’)...
vim91/src/terminal.c:5729:5: call_function: inlined call to ‘init_job_options’ from ‘term_load_dump’
vim91/src/terminal.c:5730:16: branch_false: following ‘false’ branch (when ‘do_diff == 0’)...
<unknown>: branch_false: ...to here
vim91/src/terminal.c:5748:8: branch_true: following ‘true’ branch...
vim91/src/terminal.c:5750:21: branch_true: ...to here
vim91/src/terminal.c:5754:12: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5758:13: branch_false: ...to here
vim91/src/terminal.c:5759:20: branch_true: following ‘true’ branch...
vim91/src/terminal.c:5760:17: branch_true: ...to here
vim91/src/terminal.c:5760:17: danger: ‘fopen(tv_get_string_buf_chk(argvars, & buf1), "r")’ leaks here; was allocated at [(6)](sarif:/runs/0/results/91/codeFlows/0/threadFlows/0/locations/5)
# 5758|   	    buf = curbuf;
# 5759|   	    while (!(curbuf->b_ml.ml_flags & ML_EMPTY))
# 5760|-> 		ml_delete((linenr_T)1);
# 5761|   	    free_scrollback(curbuf->b_term);
# 5762|   	    redraw_later(UPD_NOT_VALID);

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/terminal.c:5943:5: warning[-Wanalyzer-file-leak]: leak of FILE ‘fd2’
vim91/src/terminal.c:5690:1: enter_function: entry to ‘term_load_dump’
vim91/src/terminal.c:5705:8: branch_true: following ‘true’ branch (when ‘do_diff != 0’)...
vim91/src/terminal.c:5706:18: branch_true: ...to here
vim91/src/terminal.c:5707:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5713:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5718:8: branch_false: ...to here
vim91/src/terminal.c:5718:8: branch_true: following ‘true’ branch (when ‘do_diff != 0’)...
vim91/src/terminal.c:5720:15: branch_true: ...to here
vim91/src/terminal.c:5720:15: acquire_resource: opened here
vim91/src/terminal.c:5721:12: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5729:5: call_function: inlined call to ‘init_job_options’ from ‘term_load_dump’
vim91/src/terminal.c:5730:16: branch_true: following ‘true’ branch (when ‘do_diff != 0’)...
vim91/src/terminal.c:5730:16: branch_true: ...to here
vim91/src/terminal.c:5943:5: danger: ‘fd2’ leaks here; was opened at [(10)](sarif:/runs/0/results/96/codeFlows/0/threadFlows/0/locations/9)
# 5941|   
# 5942|   theend:
# 5943|->     vim_free(textline);
# 5944|       vim_free(fname_tofree);
# 5945|       fclose(fd1);

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/terminal.c:5943:5: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(tv_get_string_buf_chk(argvars, & buf1), "r")’
vim91/src/terminal.c:5690:1: enter_function: entry to ‘term_load_dump’
vim91/src/terminal.c:5705:8: branch_false: following ‘false’ branch (when ‘do_diff == 0’)...
vim91/src/terminal.c:5707:8: branch_false: ...to here
vim91/src/terminal.c:5707:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5712:11: acquire_resource: opened here
vim91/src/terminal.c:5713:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5718:8: branch_false: ...to here
vim91/src/terminal.c:5718:8: branch_false: following ‘false’ branch (when ‘do_diff == 0’)...
vim91/src/terminal.c:5729:5: call_function: inlined call to ‘init_job_options’ from ‘term_load_dump’
vim91/src/terminal.c:5730:16: branch_false: following ‘false’ branch (when ‘do_diff == 0’)...
<unknown>: branch_false: ...to here
vim91/src/terminal.c:5943:5: danger: ‘fopen(tv_get_string_buf_chk(argvars, & buf1), "r")’ leaks here; was opened at [(6)](sarif:/runs/0/results/94/codeFlows/0/threadFlows/0/locations/5)
# 5941|   
# 5942|   theend:
# 5943|->     vim_free(textline);
# 5944|       vim_free(fname_tofree);
# 5945|       fclose(fd1);

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/terminal.c:5943:5: warning[-Wanalyzer-malloc-leak]: leak of ‘fd2’
vim91/src/terminal.c:5690:1: enter_function: entry to ‘term_load_dump’
vim91/src/terminal.c:5705:8: branch_true: following ‘true’ branch (when ‘do_diff != 0’)...
vim91/src/terminal.c:5706:18: branch_true: ...to here
vim91/src/terminal.c:5707:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5713:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5718:8: branch_false: ...to here
vim91/src/terminal.c:5718:8: branch_true: following ‘true’ branch (when ‘do_diff != 0’)...
vim91/src/terminal.c:5720:15: branch_true: ...to here
vim91/src/terminal.c:5720:15: acquire_memory: allocated here
vim91/src/terminal.c:5721:12: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5729:5: call_function: inlined call to ‘init_job_options’ from ‘term_load_dump’
vim91/src/terminal.c:5730:16: branch_true: following ‘true’ branch (when ‘do_diff != 0’)...
vim91/src/terminal.c:5730:16: branch_true: ...to here
vim91/src/terminal.c:5943:5: danger: ‘fd2’ leaks here; was allocated at [(10)](sarif:/runs/0/results/97/codeFlows/0/threadFlows/0/locations/9)
# 5941|   
# 5942|   theend:
# 5943|->     vim_free(textline);
# 5944|       vim_free(fname_tofree);
# 5945|       fclose(fd1);

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/terminal.c:5943:5: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(tv_get_string_buf_chk(argvars, & buf1), "r")’
vim91/src/terminal.c:5690:1: enter_function: entry to ‘term_load_dump’
vim91/src/terminal.c:5705:8: branch_false: following ‘false’ branch (when ‘do_diff == 0’)...
vim91/src/terminal.c:5707:8: branch_false: ...to here
vim91/src/terminal.c:5707:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5712:11: acquire_memory: allocated here
vim91/src/terminal.c:5713:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5718:8: branch_false: ...to here
vim91/src/terminal.c:5718:8: branch_false: following ‘false’ branch (when ‘do_diff == 0’)...
vim91/src/terminal.c:5729:5: call_function: inlined call to ‘init_job_options’ from ‘term_load_dump’
vim91/src/terminal.c:5730:16: branch_false: following ‘false’ branch (when ‘do_diff == 0’)...
<unknown>: branch_false: ...to here
vim91/src/terminal.c:5943:5: danger: ‘fopen(tv_get_string_buf_chk(argvars, & buf1), "r")’ leaks here; was allocated at [(6)](sarif:/runs/0/results/95/codeFlows/0/threadFlows/0/locations/5)
# 5941|   
# 5942|   theend:
# 5943|->     vim_free(textline);
# 5944|       vim_free(fname_tofree);
# 5945|       fclose(fd1);

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/terminal.c:5944:5: warning[-Wanalyzer-file-leak]: leak of FILE ‘fd2’
vim91/src/terminal.c:5690:1: enter_function: entry to ‘term_load_dump’
vim91/src/terminal.c:5705:8: branch_true: following ‘true’ branch (when ‘do_diff != 0’)...
vim91/src/terminal.c:5706:18: branch_true: ...to here
vim91/src/terminal.c:5707:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5713:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5718:8: branch_false: ...to here
vim91/src/terminal.c:5718:8: branch_true: following ‘true’ branch (when ‘do_diff != 0’)...
vim91/src/terminal.c:5720:15: branch_true: ...to here
vim91/src/terminal.c:5720:15: acquire_resource: opened here
vim91/src/terminal.c:5721:12: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5729:5: call_function: inlined call to ‘init_job_options’ from ‘term_load_dump’
vim91/src/terminal.c:5730:16: branch_true: following ‘true’ branch (when ‘do_diff != 0’)...
vim91/src/terminal.c:5730:16: branch_true: ...to here
vim91/src/terminal.c:5944:5: danger: ‘fd2’ leaks here; was opened at [(10)](sarif:/runs/0/results/100/codeFlows/0/threadFlows/0/locations/9)
# 5942|   theend:
# 5943|       vim_free(textline);
# 5944|->     vim_free(fname_tofree);
# 5945|       fclose(fd1);
# 5946|       if (fd2 != NULL)

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/terminal.c:5944:5: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(tv_get_string_buf_chk(argvars, & buf1), "r")’
vim91/src/terminal.c:5690:1: enter_function: entry to ‘term_load_dump’
vim91/src/terminal.c:5705:8: branch_false: following ‘false’ branch (when ‘do_diff == 0’)...
vim91/src/terminal.c:5707:8: branch_false: ...to here
vim91/src/terminal.c:5707:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5712:11: acquire_resource: opened here
vim91/src/terminal.c:5713:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5718:8: branch_false: ...to here
vim91/src/terminal.c:5718:8: branch_false: following ‘false’ branch (when ‘do_diff == 0’)...
vim91/src/terminal.c:5729:5: call_function: inlined call to ‘init_job_options’ from ‘term_load_dump’
vim91/src/terminal.c:5730:16: branch_false: following ‘false’ branch (when ‘do_diff == 0’)...
<unknown>: branch_false: ...to here
vim91/src/terminal.c:5944:5: danger: ‘fopen(tv_get_string_buf_chk(argvars, & buf1), "r")’ leaks here; was opened at [(6)](sarif:/runs/0/results/98/codeFlows/0/threadFlows/0/locations/5)
# 5942|   theend:
# 5943|       vim_free(textline);
# 5944|->     vim_free(fname_tofree);
# 5945|       fclose(fd1);
# 5946|       if (fd2 != NULL)

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/terminal.c:5944:5: warning[-Wanalyzer-malloc-leak]: leak of ‘fd2’
vim91/src/terminal.c:5690:1: enter_function: entry to ‘term_load_dump’
vim91/src/terminal.c:5705:8: branch_true: following ‘true’ branch (when ‘do_diff != 0’)...
vim91/src/terminal.c:5706:18: branch_true: ...to here
vim91/src/terminal.c:5707:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5713:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5718:8: branch_false: ...to here
vim91/src/terminal.c:5718:8: branch_true: following ‘true’ branch (when ‘do_diff != 0’)...
vim91/src/terminal.c:5720:15: branch_true: ...to here
vim91/src/terminal.c:5720:15: acquire_memory: allocated here
vim91/src/terminal.c:5721:12: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5729:5: call_function: inlined call to ‘init_job_options’ from ‘term_load_dump’
vim91/src/terminal.c:5730:16: branch_true: following ‘true’ branch (when ‘do_diff != 0’)...
vim91/src/terminal.c:5730:16: branch_true: ...to here
vim91/src/terminal.c:5944:5: danger: ‘fd2’ leaks here; was allocated at [(10)](sarif:/runs/0/results/101/codeFlows/0/threadFlows/0/locations/9)
# 5942|   theend:
# 5943|       vim_free(textline);
# 5944|->     vim_free(fname_tofree);
# 5945|       fclose(fd1);
# 5946|       if (fd2 != NULL)

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/terminal.c:5944:5: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(tv_get_string_buf_chk(argvars, & buf1), "r")’
vim91/src/terminal.c:5690:1: enter_function: entry to ‘term_load_dump’
vim91/src/terminal.c:5705:8: branch_false: following ‘false’ branch (when ‘do_diff == 0’)...
vim91/src/terminal.c:5707:8: branch_false: ...to here
vim91/src/terminal.c:5707:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5712:11: acquire_memory: allocated here
vim91/src/terminal.c:5713:8: branch_false: following ‘false’ branch...
vim91/src/terminal.c:5718:8: branch_false: ...to here
vim91/src/terminal.c:5718:8: branch_false: following ‘false’ branch (when ‘do_diff == 0’)...
vim91/src/terminal.c:5729:5: call_function: inlined call to ‘init_job_options’ from ‘term_load_dump’
vim91/src/terminal.c:5730:16: branch_false: following ‘false’ branch (when ‘do_diff == 0’)...
<unknown>: branch_false: ...to here
vim91/src/terminal.c:5944:5: danger: ‘fopen(tv_get_string_buf_chk(argvars, & buf1), "r")’ leaks here; was allocated at [(6)](sarif:/runs/0/results/99/codeFlows/0/threadFlows/0/locations/5)
# 5942|   theend:
# 5943|       vim_free(textline);
# 5944|->     vim_free(fname_tofree);
# 5945|       fclose(fd1);
# 5946|       if (fd2 != NULL)

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

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/testing.c:458:22: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(tv_get_string_buf_chk(argvars + 16, &buf2), "r")’
vim91/src/testing.c:431:8: branch_false: following ‘false’ branch...
vim91/src/testing.c:434:5: branch_false: ...to here
vim91/src/testing.c:436:8: branch_false: following ‘false’ branch...
vim91/src/testing.c:443:15: branch_false: ...to here
vim91/src/testing.c:443:15: acquire_resource: opened here
vim91/src/testing.c:444:12: branch_false: following ‘false’ branch...
<unknown>: branch_false: ...to here
vim91/src/testing.c:458:22: danger: ‘fopen(tv_get_string_buf_chk(argvars + 16, &buf2), "r")’ leaks here; was opened at [(5)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/4)
#  456|   	    for (;;)
#  457|   	    {
#  458|-> 		c1 = fgetc(fd1);
#  459|   		c2 = fgetc(fd2);
#  460|   		if (c1 == EOF)

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/testing.c:458:22: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(tv_get_string_buf_chk(argvars, & buf1), "r")’
vim91/src/testing.c:431:8: branch_false: following ‘false’ branch...
vim91/src/testing.c:434:5: branch_false: ...to here
vim91/src/testing.c:435:11: acquire_resource: opened here
vim91/src/testing.c:436:8: branch_false: following ‘false’ branch...
vim91/src/testing.c:443:15: branch_false: ...to here
vim91/src/testing.c:444:12: branch_false: following ‘false’ branch...
<unknown>: branch_false: ...to here
vim91/src/testing.c:458:22: danger: ‘fopen(tv_get_string_buf_chk(argvars, & buf1), "r")’ leaks here; was opened at [(3)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/2)
#  456|   	    for (;;)
#  457|   	    {
#  458|-> 		c1 = fgetc(fd1);
#  459|   		c2 = fgetc(fd2);
#  460|   		if (c1 == EOF)

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/testing.c:458:22: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(tv_get_string_buf_chk(argvars + 16, &buf2), "r")’
vim91/src/testing.c:431:8: branch_false: following ‘false’ branch...
vim91/src/testing.c:434:5: branch_false: ...to here
vim91/src/testing.c:436:8: branch_false: following ‘false’ branch...
vim91/src/testing.c:443:15: branch_false: ...to here
vim91/src/testing.c:443:15: acquire_memory: allocated here
vim91/src/testing.c:444:12: branch_false: following ‘false’ branch...
<unknown>: branch_false: ...to here
vim91/src/testing.c:458:22: danger: ‘fopen(tv_get_string_buf_chk(argvars + 16, &buf2), "r")’ leaks here; was allocated at [(5)](sarif:/runs/0/results/2/codeFlows/0/threadFlows/0/locations/4)
#  456|   	    for (;;)
#  457|   	    {
#  458|-> 		c1 = fgetc(fd1);
#  459|   		c2 = fgetc(fd2);
#  460|   		if (c1 == EOF)

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/testing.c:458:22: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(tv_get_string_buf_chk(argvars, & buf1), "r")’
vim91/src/testing.c:431:8: branch_false: following ‘false’ branch...
vim91/src/testing.c:434:5: branch_false: ...to here
vim91/src/testing.c:435:11: acquire_memory: allocated here
vim91/src/testing.c:436:8: branch_false: following ‘false’ branch...
vim91/src/testing.c:443:15: branch_false: ...to here
vim91/src/testing.c:444:12: branch_false: following ‘false’ branch...
<unknown>: branch_false: ...to here
vim91/src/testing.c:458:22: danger: ‘fopen(tv_get_string_buf_chk(argvars, & buf1), "r")’ leaks here; was allocated at [(3)](sarif:/runs/0/results/3/codeFlows/0/threadFlows/0/locations/2)
#  456|   	    for (;;)
#  457|   	    {
#  458|-> 		c1 = fgetc(fd1);
#  459|   		c2 = fgetc(fd2);
#  460|   		if (c1 == EOF)

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/testing.c:459:22: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(tv_get_string_buf_chk(argvars + 16, &buf2), "r")’
vim91/src/testing.c:431:8: branch_false: following ‘false’ branch...
vim91/src/testing.c:434:5: branch_false: ...to here
vim91/src/testing.c:436:8: branch_false: following ‘false’ branch...
vim91/src/testing.c:443:15: branch_false: ...to here
vim91/src/testing.c:443:15: acquire_resource: opened here
vim91/src/testing.c:444:12: branch_false: following ‘false’ branch...
<unknown>: branch_false: ...to here
vim91/src/testing.c:459:22: danger: ‘fopen(tv_get_string_buf_chk(argvars + 16, &buf2), "r")’ leaks here; was opened at [(5)](sarif:/runs/0/results/4/codeFlows/0/threadFlows/0/locations/4)
#  457|   	    {
#  458|   		c1 = fgetc(fd1);
#  459|-> 		c2 = fgetc(fd2);
#  460|   		if (c1 == EOF)
#  461|   		{

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/testing.c:459:22: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(tv_get_string_buf_chk(argvars, & buf1), "r")’
vim91/src/testing.c:431:8: branch_false: following ‘false’ branch...
vim91/src/testing.c:434:5: branch_false: ...to here
vim91/src/testing.c:435:11: acquire_resource: opened here
vim91/src/testing.c:436:8: branch_false: following ‘false’ branch...
vim91/src/testing.c:443:15: branch_false: ...to here
vim91/src/testing.c:444:12: branch_false: following ‘false’ branch...
<unknown>: branch_false: ...to here
vim91/src/testing.c:459:22: danger: ‘fopen(tv_get_string_buf_chk(argvars, & buf1), "r")’ leaks here; was opened at [(3)](sarif:/runs/0/results/5/codeFlows/0/threadFlows/0/locations/2)
#  457|   	    {
#  458|   		c1 = fgetc(fd1);
#  459|-> 		c2 = fgetc(fd2);
#  460|   		if (c1 == EOF)
#  461|   		{

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/testing.c:459:22: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(tv_get_string_buf_chk(argvars + 16, &buf2), "r")’
vim91/src/testing.c:431:8: branch_false: following ‘false’ branch...
vim91/src/testing.c:434:5: branch_false: ...to here
vim91/src/testing.c:436:8: branch_false: following ‘false’ branch...
vim91/src/testing.c:443:15: branch_false: ...to here
vim91/src/testing.c:443:15: acquire_memory: allocated here
vim91/src/testing.c:444:12: branch_false: following ‘false’ branch...
<unknown>: branch_false: ...to here
vim91/src/testing.c:459:22: danger: ‘fopen(tv_get_string_buf_chk(argvars + 16, &buf2), "r")’ leaks here; was allocated at [(5)](sarif:/runs/0/results/7/codeFlows/0/threadFlows/0/locations/4)
#  457|   	    {
#  458|   		c1 = fgetc(fd1);
#  459|-> 		c2 = fgetc(fd2);
#  460|   		if (c1 == EOF)
#  461|   		{

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/testing.c:459:22: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(tv_get_string_buf_chk(argvars, & buf1), "r")’
vim91/src/testing.c:431:8: branch_false: following ‘false’ branch...
vim91/src/testing.c:434:5: branch_false: ...to here
vim91/src/testing.c:435:11: acquire_memory: allocated here
vim91/src/testing.c:436:8: branch_false: following ‘false’ branch...
vim91/src/testing.c:443:15: branch_false: ...to here
vim91/src/testing.c:444:12: branch_false: following ‘false’ branch...
<unknown>: branch_false: ...to here
vim91/src/testing.c:459:22: danger: ‘fopen(tv_get_string_buf_chk(argvars, & buf1), "r")’ leaks here; was allocated at [(3)](sarif:/runs/0/results/6/codeFlows/0/threadFlows/0/locations/2)
#  457|   	    {
#  458|   		c1 = fgetc(fd1);
#  459|-> 		c2 = fgetc(fd2);
#  460|   		if (c1 == EOF)
#  461|   		{

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/testing.c:478:25: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(tv_get_string_buf_chk(argvars + 16, &buf2), "r")’
vim91/src/testing.c:431:8: branch_false: following ‘false’ branch...
vim91/src/testing.c:434:5: branch_false: ...to here
vim91/src/testing.c:436:8: branch_false: following ‘false’ branch...
vim91/src/testing.c:443:15: branch_false: ...to here
vim91/src/testing.c:443:15: acquire_resource: opened here
vim91/src/testing.c:444:12: branch_false: following ‘false’ branch...
<unknown>: branch_false: ...to here
vim91/src/testing.c:460:20: branch_false: following ‘false’ branch...
vim91/src/testing.c:466:25: branch_false: ...to here
vim91/src/testing.c:466:25: branch_false: following ‘false’ branch...
vim91/src/testing.c:473:21: branch_false: ...to here
vim91/src/testing.c:478:25: danger: ‘fopen(tv_get_string_buf_chk(argvars + 16, &buf2), "r")’ leaks here; was opened at [(5)](sarif:/runs/0/results/9/codeFlows/0/threadFlows/0/locations/4)
#  476|   		    if (c1 != c2)
#  477|   		    {
#  478|-> 			vim_snprintf((char *)IObuff, IOSIZE,
#  479|   					    "difference at byte %ld, line %ld",
#  480|   							     count, linecount);

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/testing.c:478:25: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(tv_get_string_buf_chk(argvars, & buf1), "r")’
vim91/src/testing.c:431:8: branch_false: following ‘false’ branch...
vim91/src/testing.c:434:5: branch_false: ...to here
vim91/src/testing.c:435:11: acquire_resource: opened here
vim91/src/testing.c:436:8: branch_false: following ‘false’ branch...
vim91/src/testing.c:443:15: branch_false: ...to here
vim91/src/testing.c:444:12: branch_false: following ‘false’ branch...
<unknown>: branch_false: ...to here
vim91/src/testing.c:460:20: branch_false: following ‘false’ branch...
vim91/src/testing.c:466:25: branch_false: ...to here
vim91/src/testing.c:466:25: branch_false: following ‘false’ branch...
vim91/src/testing.c:473:21: branch_false: ...to here
vim91/src/testing.c:478:25: danger: ‘fopen(tv_get_string_buf_chk(argvars, & buf1), "r")’ leaks here; was opened at [(3)](sarif:/runs/0/results/8/codeFlows/0/threadFlows/0/locations/2)
#  476|   		    if (c1 != c2)
#  477|   		    {
#  478|-> 			vim_snprintf((char *)IObuff, IOSIZE,
#  479|   					    "difference at byte %ld, line %ld",
#  480|   							     count, linecount);

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/testing.c:478:25: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(tv_get_string_buf_chk(argvars + 16, &buf2), "r")’
vim91/src/testing.c:431:8: branch_false: following ‘false’ branch...
vim91/src/testing.c:434:5: branch_false: ...to here
vim91/src/testing.c:436:8: branch_false: following ‘false’ branch...
vim91/src/testing.c:443:15: branch_false: ...to here
vim91/src/testing.c:443:15: acquire_memory: allocated here
vim91/src/testing.c:444:12: branch_false: following ‘false’ branch...
<unknown>: branch_false: ...to here
vim91/src/testing.c:460:20: branch_false: following ‘false’ branch...
vim91/src/testing.c:466:25: branch_false: ...to here
vim91/src/testing.c:466:25: branch_false: following ‘false’ branch...
vim91/src/testing.c:473:21: branch_false: ...to here
vim91/src/testing.c:478:25: danger: ‘fopen(tv_get_string_buf_chk(argvars + 16, &buf2), "r")’ leaks here; was allocated at [(5)](sarif:/runs/0/results/11/codeFlows/0/threadFlows/0/locations/4)
#  476|   		    if (c1 != c2)
#  477|   		    {
#  478|-> 			vim_snprintf((char *)IObuff, IOSIZE,
#  479|   					    "difference at byte %ld, line %ld",
#  480|   							     count, linecount);

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/testing.c:478:25: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(tv_get_string_buf_chk(argvars, & buf1), "r")’
vim91/src/testing.c:431:8: branch_false: following ‘false’ branch...
vim91/src/testing.c:434:5: branch_false: ...to here
vim91/src/testing.c:435:11: acquire_memory: allocated here
vim91/src/testing.c:436:8: branch_false: following ‘false’ branch...
vim91/src/testing.c:443:15: branch_false: ...to here
vim91/src/testing.c:444:12: branch_false: following ‘false’ branch...
<unknown>: branch_false: ...to here
vim91/src/testing.c:460:20: branch_false: following ‘false’ branch...
vim91/src/testing.c:466:25: branch_false: ...to here
vim91/src/testing.c:466:25: branch_false: following ‘false’ branch...
vim91/src/testing.c:473:21: branch_false: ...to here
vim91/src/testing.c:478:25: danger: ‘fopen(tv_get_string_buf_chk(argvars, & buf1), "r")’ leaks here; was allocated at [(3)](sarif:/runs/0/results/10/codeFlows/0/threadFlows/0/locations/2)
#  476|   		    if (c1 != c2)
#  477|   		    {
#  478|-> 			vim_snprintf((char *)IObuff, IOSIZE,
#  479|   					    "difference at byte %ld, line %ld",
#  480|   							     count, linecount);

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

Error: GCC_ANALYZER_WARNING (CWE-476):
vim91/src/textformat.c:522:36: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘flags’
vim91/src/textformat.c:513:8: branch_false: following ‘false’ branch...
vim91/src/textformat.c:521:30: branch_false: ...to here
vim91/src/textformat.c:521:12: branch_false: following ‘false’ branch...
vim91/src/textformat.c:522:17: branch_false: ...to here
vim91/src/textformat.c:521:13: branch_true: following ‘true’ branch...
vim91/src/textformat.c:522:36: branch_true: ...to here
vim91/src/textformat.c:522:36: danger: dereference of NULL ‘flags’
#  520|   
#  521|       return (*skipwhite(ptr + *leader_len) == NUL
#  522|-> 	    || (*leader_len > 0 && *flags == COM_END)
#  523|   	    || startPS(lnum, NUL, FALSE));
#  524|   }

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

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

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

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

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

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

Error: GCC_ANALYZER_WARNING (CWE-1341):
vim91/src/ui.c:1005:13: warning[-Wanalyzer-fd-double-close]: double ‘close’ of file descriptor ‘0’
vim91/src/ui.c:942:8: branch_false: following ‘false’ branch...
vim91/src/ui.c:950:9: branch_false: ...to here
vim91/src/ui.c:972:19: branch_true: following ‘true’ branch (when ‘try != 100’)...
vim91/src/ui.c:974:35: branch_true: ...to here
vim91/src/ui.c:982:12: branch_false: following ‘false’ branch (when ‘len <= 0’)...
vim91/src/ui.c:989:21: branch_false: ...to here
vim91/src/ui.c:989:13: branch_false: following ‘false’ branch...
vim91/src/ui.c:995:13: branch_false: ...to here
vim91/src/ui.c:995:13: branch_true: following ‘true’ branch...
vim91/src/ui.c:995:60: branch_true: ...to here
vim91/src/ui.c:1005:13: release_resource: first ‘close’ here
vim91/src/ui.c:1012:12: branch_false: following ‘false’ branch (when ‘exit_on_error != 0’)...
vim91/src/ui.c:972:30: branch_false: ...to here
vim91/src/ui.c:972:19: branch_true: following ‘true’ branch (when ‘try != 100’)...
vim91/src/ui.c:974:35: branch_true: ...to here
vim91/src/ui.c:982:12: branch_false: following ‘false’ branch (when ‘len <= 0’)...
vim91/src/ui.c:989:21: branch_false: ...to here
vim91/src/ui.c:989:13: branch_false: following ‘false’ branch...
vim91/src/ui.c:995:13: branch_false: ...to here
vim91/src/ui.c:995:12: branch_true: following ‘true’ branch...
vim91/src/ui.c:995:37: branch_true: ...to here
vim91/src/ui.c:995:13: branch_true: following ‘true’ branch...
vim91/src/ui.c:995:60: branch_true: ...to here
vim91/src/ui.c:1005:13: danger: second ‘close’ here; first ‘close’ was at [(12)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/11)
# 1003|   #ifdef HAVE_DUP
# 1004|   	    // Use stderr for stdin, also works for shell commands.
# 1005|-> 	    close(0);
# 1006|   	    vim_ignored = dup(2);
# 1007|   #else

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

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

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

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

Error: GCC_ANALYZER_WARNING (CWE-476):
vim91/src/userfunc.c:2386:46: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘name’
vim91/src/userfunc.c:7556:1: enter_function: entry to ‘set_ref_in_func’
vim91/src/userfunc.c:7562:18: release_memory: ‘tofree’ is NULL
vim91/src/userfunc.c:7566:8: branch_false: following ‘false’ branch...
vim91/src/userfunc.c:7569:8: branch_false: ...to here
vim91/src/userfunc.c:7569:8: branch_true: following ‘true’ branch (when ‘fp_in’ is NULL)...
vim91/src/userfunc.c:7571:17: branch_true: ...to here
vim91/src/userfunc.c:7571:17: call_function: calling ‘fname_trans_sid’ from ‘set_ref_in_func’
vim91/src/userfunc.c:7571:17: return_function: returning to ‘set_ref_in_func’ from ‘fname_trans_sid’
vim91/src/userfunc.c:7572:14: call_function: calling ‘find_func’ from ‘set_ref_in_func’
# 2384|       {
# 2385|   	// Find script-local function before global one.
# 2386|-> 	if (in_vim9script() && eval_isnamec1(*name)
# 2387|   					   && (name[1] != ':' || *name == 's'))
# 2388|   	{

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

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

Error: GCC_ANALYZER_WARNING (CWE-476):
vim91/src/userfunc.c:6045:9: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘p’
vim91/src/userfunc.c:7515:1: enter_function: entry to ‘set_ref_in_functions’
vim91/src/userfunc.c:7522:38: branch_true: following ‘true’ branch...
vim91/src/userfunc.c:7528:16: branch_false: following ‘false’ branch...
<unknown>: branch_false: ...to here
vim91/src/userfunc.c:7522:38: branch_true: following ‘true’ branch...
vim91/src/userfunc.c:7529:46: call_function: calling ‘set_ref_in_func’ from ‘set_ref_in_functions’
# 6043|       // Use MB_STRICMP() because in Turkish comparing the "I" may not work with
# 6044|       // the standard library function.
# 6045|->     if (p[0] == '<' && (MB_STRNICMP(p + 1, "SID>", 4) == 0
# 6046|   				       || MB_STRNICMP(p + 1, "SNR>", 4) == 0))
# 6047|   	return 5;

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

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

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

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

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

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

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

Error: COMPILER_WARNING:
vim91/src/vim9generics.c: warning: -D_FORTIFY_SOURCE defined but value is too low

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

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

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

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

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

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

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/viminfo.c:64:13: warning[-Wanalyzer-malloc-leak]: leak of ‘fp_out’
vim91/src/viminfo.c:3103:1: enter_function: entry to ‘write_viminfo’
vim91/src/viminfo.c:3121:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3124:13: branch_false: ...to here
vim91/src/viminfo.c:3125:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3128:13: branch_false: ...to here
vim91/src/viminfo.c:3129:8: branch_true: following ‘true’ branch...
vim91/src/viminfo.c:3134:13: branch_true: ...to here
vim91/src/viminfo.c:3134:12: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3141:14: call_function: inlined call to ‘open’ from ‘write_viminfo’
vim91/src/viminfo.c:3143:12: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3145:18: branch_false: ...to here
vim91/src/viminfo.c:3145:18: acquire_memory: allocated here
vim91/src/viminfo.c:3324:8: branch_false: following ‘false’ branch (when ‘fp_out’ is non-NULL)...
vim91/src/viminfo.c:3333:9: branch_false: ...to here
vim91/src/viminfo.c:3341:5: call_function: calling ‘do_viminfo’ from ‘write_viminfo’
#   62|   	if (*p == 'n')		    // 'n' is always the last one
#   63|   	    break;
#   64|-> 	p = vim_strchr(p, ',');	    // skip until next ','
#   65|   	if (p == NULL)		    // hit the end without finding parameter
#   66|   	    break;

Error: CPPCHECK_WARNING (CWE-457):
vim91/src/viminfo.c:661: warning[uninitvar]: Uninitialized variable: p
#  659|       else
#  660|   	len = 0; // for picky compilers
#  661|->     if (p != NULL)
#  662|       {
#  663|   	viminfo_history[type][idx].time_set = vp[1].bv_nr;

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/viminfo.c:1568:25: warning[-Wanalyzer-malloc-leak]: leak of ‘fp_out’
vim91/src/viminfo.c:3103:1: enter_function: entry to ‘write_viminfo’
vim91/src/viminfo.c:3121:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3124:13: branch_false: ...to here
vim91/src/viminfo.c:3125:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3128:13: branch_false: ...to here
vim91/src/viminfo.c:3129:8: branch_true: following ‘true’ branch...
vim91/src/viminfo.c:3134:13: branch_true: ...to here
vim91/src/viminfo.c:3134:12: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3141:14: call_function: inlined call to ‘open’ from ‘write_viminfo’
vim91/src/viminfo.c:3143:12: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3145:18: branch_false: ...to here
vim91/src/viminfo.c:3145:18: acquire_memory: allocated here
vim91/src/viminfo.c:3324:8: branch_false: following ‘false’ branch (when ‘fp_out’ is non-NULL)...
vim91/src/viminfo.c:3333:9: branch_false: ...to here
vim91/src/viminfo.c:3341:5: call_function: calling ‘do_viminfo’ from ‘write_viminfo’
# 1566|       int		sc)	// dir char
# 1567|   {
# 1568|->     spat_T	*spat = get_spat(idx);
# 1569|       if (spat->pat == NULL)
# 1570|   	return;

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/viminfo.c:1580:13: warning[-Wanalyzer-malloc-leak]: leak of ‘fp_out’
vim91/src/viminfo.c:3103:1: enter_function: entry to ‘write_viminfo’
vim91/src/viminfo.c:3121:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3124:13: branch_false: ...to here
vim91/src/viminfo.c:3125:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3128:13: branch_false: ...to here
vim91/src/viminfo.c:3129:8: branch_true: following ‘true’ branch...
vim91/src/viminfo.c:3134:13: branch_true: ...to here
vim91/src/viminfo.c:3134:12: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3141:14: call_function: inlined call to ‘open’ from ‘write_viminfo’
vim91/src/viminfo.c:3143:12: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3145:18: branch_false: ...to here
vim91/src/viminfo.c:3145:18: acquire_memory: allocated here
vim91/src/viminfo.c:3324:8: branch_false: following ‘false’ branch (when ‘fp_out’ is non-NULL)...
vim91/src/viminfo.c:3333:9: branch_false: ...to here
vim91/src/viminfo.c:3341:5: call_function: calling ‘do_viminfo’ from ‘write_viminfo’
# 1578|   	    spat->off.end  ? 'E' : 'e',	// offset from end
# 1579|   	    spat->off.off,			// offset
# 1580|-> 	    get_spat_last_idx() == idx ? "~" : "",	// last used pat
# 1581|   	    sc);
# 1582|       viminfo_writestring(fp, spat->pat);

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/viminfo.c:2973:25: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(viminfo_filename(file), "r")’
vim91/src/viminfo.c:3051:1: enter_function: entry to ‘read_viminfo’
vim91/src/viminfo.c:3059:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3062:13: branch_false: ...to here
vim91/src/viminfo.c:3063:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3065:10: branch_false: ...to here
vim91/src/viminfo.c:3065:10: acquire_resource: opened here
vim91/src/viminfo.c:3080:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3082:9: branch_false: ...to here
vim91/src/viminfo.c:3082:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3089:5: call_function: calling ‘do_viminfo’ from ‘read_viminfo’
# 2971|       garray_T	buflist;
# 2972|   
# 2973|->     if ((vir.vir_line = alloc(LSIZE)) == NULL)
# 2974|   	return;
# 2975|       vir.vir_fd = fp_in;

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/viminfo.c:2973:25: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(viminfo_filename(file), "r")’
vim91/src/viminfo.c:3051:1: enter_function: entry to ‘read_viminfo’
vim91/src/viminfo.c:3059:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3062:13: branch_false: ...to here
vim91/src/viminfo.c:3063:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3065:10: branch_false: ...to here
vim91/src/viminfo.c:3065:10: acquire_memory: allocated here
vim91/src/viminfo.c:3080:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3082:9: branch_false: ...to here
vim91/src/viminfo.c:3082:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3089:5: call_function: calling ‘do_viminfo’ from ‘read_viminfo’
# 2971|       garray_T	buflist;
# 2972|   
# 2973|->     if ((vir.vir_line = alloc(LSIZE)) == NULL)
# 2974|   	return;
# 2975|       vir.vir_fd = fp_in;

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/viminfo.c:2973:25: warning[-Wanalyzer-malloc-leak]: leak of ‘fp_out’
vim91/src/viminfo.c:3103:1: enter_function: entry to ‘write_viminfo’
vim91/src/viminfo.c:3121:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3124:13: branch_false: ...to here
vim91/src/viminfo.c:3125:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3128:13: branch_false: ...to here
vim91/src/viminfo.c:3129:8: branch_true: following ‘true’ branch...
vim91/src/viminfo.c:3134:13: branch_true: ...to here
vim91/src/viminfo.c:3134:12: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3141:14: call_function: inlined call to ‘open’ from ‘write_viminfo’
vim91/src/viminfo.c:3143:12: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3145:18: branch_false: ...to here
vim91/src/viminfo.c:3145:18: acquire_memory: allocated here
vim91/src/viminfo.c:3324:8: branch_false: following ‘false’ branch (when ‘fp_out’ is non-NULL)...
vim91/src/viminfo.c:3333:9: branch_false: ...to here
vim91/src/viminfo.c:3341:5: call_function: calling ‘do_viminfo’ from ‘write_viminfo’
# 2971|       garray_T	buflist;
# 2972|   
# 2973|->     if ((vir.vir_line = alloc(LSIZE)) == NULL)
# 2974|   	return;
# 2975|       vir.vir_fd = fp_in;

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/viminfo.c:2977:5: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(viminfo_filename(file), "r")’
vim91/src/viminfo.c:3051:1: enter_function: entry to ‘read_viminfo’
vim91/src/viminfo.c:3059:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3062:13: branch_false: ...to here
vim91/src/viminfo.c:3063:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3065:10: branch_false: ...to here
vim91/src/viminfo.c:3065:10: acquire_resource: opened here
vim91/src/viminfo.c:3080:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3082:9: branch_false: ...to here
vim91/src/viminfo.c:3082:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3089:5: call_function: calling ‘do_viminfo’ from ‘read_viminfo’
# 2975|       vir.vir_fd = fp_in;
# 2976|       vir.vir_conv.vc_type = CONV_NONE;
# 2977|->     ga_init2(&vir.vir_barlines, sizeof(char_u *), 100);
# 2978|       vir.vir_version = -1;
# 2979|   

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/viminfo.c:2977:5: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(viminfo_filename(file), "r")’
vim91/src/viminfo.c:3051:1: enter_function: entry to ‘read_viminfo’
vim91/src/viminfo.c:3059:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3062:13: branch_false: ...to here
vim91/src/viminfo.c:3063:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3065:10: branch_false: ...to here
vim91/src/viminfo.c:3065:10: acquire_memory: allocated here
vim91/src/viminfo.c:3080:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3082:9: branch_false: ...to here
vim91/src/viminfo.c:3082:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3089:5: call_function: calling ‘do_viminfo’ from ‘read_viminfo’
# 2975|       vir.vir_fd = fp_in;
# 2976|       vir.vir_conv.vc_type = CONV_NONE;
# 2977|->     ga_init2(&vir.vir_barlines, sizeof(char_u *), 100);
# 2978|       vir.vir_version = -1;
# 2979|   

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/viminfo.c:2977:5: warning[-Wanalyzer-malloc-leak]: leak of ‘fp_out’
vim91/src/viminfo.c:3103:1: enter_function: entry to ‘write_viminfo’
vim91/src/viminfo.c:3121:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3124:13: branch_false: ...to here
vim91/src/viminfo.c:3125:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3128:13: branch_false: ...to here
vim91/src/viminfo.c:3129:8: branch_true: following ‘true’ branch...
vim91/src/viminfo.c:3134:13: branch_true: ...to here
vim91/src/viminfo.c:3134:12: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3141:14: call_function: inlined call to ‘open’ from ‘write_viminfo’
vim91/src/viminfo.c:3143:12: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3145:18: branch_false: ...to here
vim91/src/viminfo.c:3145:18: acquire_memory: allocated here
vim91/src/viminfo.c:3324:8: branch_false: following ‘false’ branch (when ‘fp_out’ is non-NULL)...
vim91/src/viminfo.c:3333:9: branch_false: ...to here
vim91/src/viminfo.c:3341:5: call_function: calling ‘do_viminfo’ from ‘write_viminfo’
# 2975|       vir.vir_fd = fp_in;
# 2976|       vir.vir_conv.vc_type = CONV_NONE;
# 2977|->     ga_init2(&vir.vir_barlines, sizeof(char_u *), 100);
# 2978|       vir.vir_version = -1;
# 2979|   

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/viminfo.c:3069:9: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(viminfo_filename(file), "r")’
vim91/src/viminfo.c:3059:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3062:13: branch_false: ...to here
vim91/src/viminfo.c:3063:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3065:10: branch_false: ...to here
vim91/src/viminfo.c:3065:10: acquire_resource: opened here
vim91/src/viminfo.c:3067:8: branch_true: following ‘true’ branch...
vim91/src/viminfo.c:3069:9: branch_true: ...to here
vim91/src/viminfo.c:3069:9: danger: ‘fopen(viminfo_filename(file), "r")’ leaks here; was opened at [(5)](sarif:/runs/0/results/9/codeFlows/0/threadFlows/0/locations/4)
# 3067|       if (p_verbose > 0)
# 3068|       {
# 3069|-> 	verbose_enter();
# 3070|   	smsg(_("Reading viminfo file \"%s\"%s%s%s%s"),
# 3071|   		fname,

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/viminfo.c:3069:9: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(viminfo_filename(file), "r")’
vim91/src/viminfo.c:3059:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3062:13: branch_false: ...to here
vim91/src/viminfo.c:3063:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3065:10: branch_false: ...to here
vim91/src/viminfo.c:3065:10: acquire_memory: allocated here
vim91/src/viminfo.c:3067:8: branch_true: following ‘true’ branch...
vim91/src/viminfo.c:3069:9: branch_true: ...to here
vim91/src/viminfo.c:3069:9: danger: ‘fopen(viminfo_filename(file), "r")’ leaks here; was allocated at [(5)](sarif:/runs/0/results/10/codeFlows/0/threadFlows/0/locations/4)
# 3067|       if (p_verbose > 0)
# 3068|       {
# 3069|-> 	verbose_enter();
# 3070|   	smsg(_("Reading viminfo file \"%s\"%s%s%s%s"),
# 3071|   		fname,

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/viminfo.c:3070:9: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(viminfo_filename(file), "r")’
vim91/src/viminfo.c:3059:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3062:13: branch_false: ...to here
vim91/src/viminfo.c:3063:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3065:10: branch_false: ...to here
vim91/src/viminfo.c:3065:10: acquire_resource: opened here
vim91/src/viminfo.c:3067:8: branch_true: following ‘true’ branch...
vim91/src/viminfo.c:3069:9: branch_true: ...to here
vim91/src/viminfo.c:3070:9: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3074:17: branch_false: ...to here
vim91/src/viminfo.c:3070:9: danger: ‘fopen(viminfo_filename(file), "r")’ leaks here; was opened at [(5)](sarif:/runs/0/results/11/codeFlows/0/threadFlows/0/locations/4)
# 3068|       {
# 3069|   	verbose_enter();
# 3070|-> 	smsg(_("Reading viminfo file \"%s\"%s%s%s%s"),
# 3071|   		fname,
# 3072|   		(flags & VIF_WANT_INFO) ? _(" info") : "",

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/viminfo.c:3070:9: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(viminfo_filename(file), "r")’
vim91/src/viminfo.c:3059:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3062:13: branch_false: ...to here
vim91/src/viminfo.c:3063:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3065:10: branch_false: ...to here
vim91/src/viminfo.c:3065:10: acquire_memory: allocated here
vim91/src/viminfo.c:3067:8: branch_true: following ‘true’ branch...
vim91/src/viminfo.c:3069:9: branch_true: ...to here
vim91/src/viminfo.c:3070:9: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3074:17: branch_false: ...to here
vim91/src/viminfo.c:3070:9: danger: ‘fopen(viminfo_filename(file), "r")’ leaks here; was allocated at [(5)](sarif:/runs/0/results/12/codeFlows/0/threadFlows/0/locations/4)
# 3068|       {
# 3069|   	verbose_enter();
# 3070|-> 	smsg(_("Reading viminfo file \"%s\"%s%s%s%s"),
# 3071|   		fname,
# 3072|   		(flags & VIF_WANT_INFO) ? _(" info") : "",

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/viminfo.c:3076:9: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(viminfo_filename(file), "r")’
vim91/src/viminfo.c:3059:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3062:13: branch_false: ...to here
vim91/src/viminfo.c:3063:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3065:10: branch_false: ...to here
vim91/src/viminfo.c:3065:10: acquire_resource: opened here
vim91/src/viminfo.c:3067:8: branch_true: following ‘true’ branch...
vim91/src/viminfo.c:3069:9: branch_true: ...to here
vim91/src/viminfo.c:3070:9: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3074:17: branch_false: ...to here
vim91/src/viminfo.c:3076:9: danger: ‘fopen(viminfo_filename(file), "r")’ leaks here; was opened at [(5)](sarif:/runs/0/results/13/codeFlows/0/threadFlows/0/locations/4)
# 3074|   		(flags & VIF_GET_OLDFILES) ? _(" oldfiles") : "",
# 3075|   		fp == NULL ? _(" FAILED") : "");
# 3076|-> 	verbose_leave();
# 3077|       }
# 3078|   

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/viminfo.c:3076:9: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(viminfo_filename(file), "r")’
vim91/src/viminfo.c:3059:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3062:13: branch_false: ...to here
vim91/src/viminfo.c:3063:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3065:10: branch_false: ...to here
vim91/src/viminfo.c:3065:10: acquire_memory: allocated here
vim91/src/viminfo.c:3067:8: branch_true: following ‘true’ branch...
vim91/src/viminfo.c:3069:9: branch_true: ...to here
vim91/src/viminfo.c:3070:9: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3074:17: branch_false: ...to here
vim91/src/viminfo.c:3076:9: danger: ‘fopen(viminfo_filename(file), "r")’ leaks here; was allocated at [(5)](sarif:/runs/0/results/14/codeFlows/0/threadFlows/0/locations/4)
# 3074|   		(flags & VIF_GET_OLDFILES) ? _(" oldfiles") : "",
# 3075|   		fp == NULL ? _(" FAILED") : "");
# 3076|-> 	verbose_leave();
# 3077|       }
# 3078|   

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/viminfo.c:3079:5: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(viminfo_filename(file), "r")’
vim91/src/viminfo.c:3059:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3062:13: branch_false: ...to here
vim91/src/viminfo.c:3063:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3065:10: branch_false: ...to here
vim91/src/viminfo.c:3065:10: acquire_resource: opened here
vim91/src/viminfo.c:3067:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3079:5: branch_false: ...to here
vim91/src/viminfo.c:3079:5: danger: ‘fopen(viminfo_filename(file), "r")’ leaks here; was opened at [(5)](sarif:/runs/0/results/15/codeFlows/0/threadFlows/0/locations/4)
# 3077|       }
# 3078|   
# 3079|->     vim_free(fname);
# 3080|       if (fp == NULL)
# 3081|   	return FAIL;

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/viminfo.c:3079:5: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(viminfo_filename(file), "r")’
vim91/src/viminfo.c:3059:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3062:13: branch_false: ...to here
vim91/src/viminfo.c:3063:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3065:10: branch_false: ...to here
vim91/src/viminfo.c:3065:10: acquire_memory: allocated here
vim91/src/viminfo.c:3067:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3079:5: branch_false: ...to here
vim91/src/viminfo.c:3079:5: danger: ‘fopen(viminfo_filename(file), "r")’ leaks here; was allocated at [(5)](sarif:/runs/0/results/16/codeFlows/0/threadFlows/0/locations/4)
# 3077|       }
# 3078|   
# 3079|->     vim_free(fname);
# 3080|       if (fp == NULL)
# 3081|   	return FAIL;

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/viminfo.c:3171:13: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(viminfo_filename(file), "r")’
vim91/src/viminfo.c:3121:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3124:13: branch_false: ...to here
vim91/src/viminfo.c:3125:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3128:13: branch_false: ...to here
vim91/src/viminfo.c:3128:13: acquire_resource: opened here
vim91/src/viminfo.c:3129:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3153:13: branch_false: ...to here
vim91/src/viminfo.c:3171:13: danger: ‘fopen(viminfo_filename(file), "r")’ leaks here; was opened at [(5)](sarif:/runs/0/results/19/codeFlows/0/threadFlows/0/locations/4)
# 3169|   
# 3170|   	    // avoid a wait_return() for this message, it's annoying
# 3171|-> 	    semsg(_(e_viminfo_file_is_not_writable_str), fname);
# 3172|   	    msg_didany = tt;
# 3173|   	    fclose(fp_in);

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/viminfo.c:3171:13: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(viminfo_filename(file), "r")’
vim91/src/viminfo.c:3121:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3124:13: branch_false: ...to here
vim91/src/viminfo.c:3125:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3128:13: branch_false: ...to here
vim91/src/viminfo.c:3128:13: acquire_memory: allocated here
vim91/src/viminfo.c:3129:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3153:13: branch_false: ...to here
vim91/src/viminfo.c:3171:13: danger: ‘fopen(viminfo_filename(file), "r")’ leaks here; was allocated at [(5)](sarif:/runs/0/results/20/codeFlows/0/threadFlows/0/locations/4)
# 3169|   
# 3170|   	    // avoid a wait_return() for this message, it's annoying
# 3171|-> 	    semsg(_(e_viminfo_file_is_not_writable_str), fname);
# 3172|   	    msg_didany = tt;
# 3173|   	    fclose(fp_in);

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/viminfo.c:3192:24: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(viminfo_filename(file), "r")’
vim91/src/viminfo.c:3121:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3124:13: branch_false: ...to here
vim91/src/viminfo.c:3125:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3128:13: branch_false: ...to here
vim91/src/viminfo.c:3128:13: acquire_resource: opened here
vim91/src/viminfo.c:3129:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3153:13: branch_false: ...to here
vim91/src/viminfo.c:3153:12: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3154:20: branch_false: ...to here
vim91/src/viminfo.c:3153:13: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3159:21: branch_false: ...to here
vim91/src/viminfo.c:3192:24: danger: ‘fopen(viminfo_filename(file), "r")’ leaks here; was opened at [(5)](sarif:/runs/0/results/21/codeFlows/0/threadFlows/0/locations/4)
# 3190|   	    char_u	*wp;
# 3191|   
# 3192|-> 	    tempname = buf_modname(
# 3193|   #ifdef UNIX
# 3194|   				    shortname,

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/viminfo.c:3192:24: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(viminfo_filename(file), "r")’
vim91/src/viminfo.c:3121:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3124:13: branch_false: ...to here
vim91/src/viminfo.c:3125:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3128:13: branch_false: ...to here
vim91/src/viminfo.c:3128:13: acquire_memory: allocated here
vim91/src/viminfo.c:3129:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3153:13: branch_false: ...to here
vim91/src/viminfo.c:3153:12: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3154:20: branch_false: ...to here
vim91/src/viminfo.c:3153:13: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3159:21: branch_false: ...to here
vim91/src/viminfo.c:3192:24: danger: ‘fopen(viminfo_filename(file), "r")’ leaks here; was allocated at [(5)](sarif:/runs/0/results/22/codeFlows/0/threadFlows/0/locations/4)
# 3190|   	    char_u	*wp;
# 3191|   
# 3192|-> 	    tempname = buf_modname(
# 3193|   #ifdef UNIX
# 3194|   				    shortname,

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/viminfo.c:3213:22: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(viminfo_filename(file), "r")’
vim91/src/viminfo.c:3121:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3124:13: branch_false: ...to here
vim91/src/viminfo.c:3125:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3128:13: branch_false: ...to here
vim91/src/viminfo.c:3128:13: acquire_resource: opened here
vim91/src/viminfo.c:3129:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3153:13: branch_false: ...to here
vim91/src/viminfo.c:3153:12: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3154:20: branch_false: ...to here
vim91/src/viminfo.c:3153:13: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3159:21: branch_false: ...to here
vim91/src/viminfo.c:3205:16: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3212:29: branch_false: ...to here
vim91/src/viminfo.c:3213:22: danger: ‘fopen(viminfo_filename(file), "r")’ leaks here; was opened at [(5)](sarif:/runs/0/results/23/codeFlows/0/threadFlows/0/locations/4)
# 3211|   	    // the same file as the original.
# 3212|   	    wp = tempname + STRLEN(tempname) - 5;
# 3213|-> 	    if (wp < gettail(tempname))	    // empty file name?
# 3214|   		wp = gettail(tempname);
# 3215|   	    for (;;)

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/viminfo.c:3213:22: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(viminfo_filename(file), "r")’
vim91/src/viminfo.c:3121:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3124:13: branch_false: ...to here
vim91/src/viminfo.c:3125:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3128:13: branch_false: ...to here
vim91/src/viminfo.c:3128:13: acquire_memory: allocated here
vim91/src/viminfo.c:3129:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3153:13: branch_false: ...to here
vim91/src/viminfo.c:3153:12: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3154:20: branch_false: ...to here
vim91/src/viminfo.c:3153:13: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3159:21: branch_false: ...to here
vim91/src/viminfo.c:3205:16: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3212:29: branch_false: ...to here
vim91/src/viminfo.c:3213:22: danger: ‘fopen(viminfo_filename(file), "r")’ leaks here; was allocated at [(5)](sarif:/runs/0/results/24/codeFlows/0/threadFlows/0/locations/4)
# 3211|   	    // the same file as the original.
# 3212|   	    wp = tempname + STRLEN(tempname) - 5;
# 3213|-> 	    if (wp < gettail(tempname))	    // empty file name?
# 3214|   		wp = gettail(tempname);
# 3215|   	    for (;;)

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/viminfo.c:3214:22: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(viminfo_filename(file), "r")’
vim91/src/viminfo.c:3121:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3124:13: branch_false: ...to here
vim91/src/viminfo.c:3125:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3128:13: branch_false: ...to here
vim91/src/viminfo.c:3128:13: acquire_resource: opened here
vim91/src/viminfo.c:3129:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3153:13: branch_false: ...to here
vim91/src/viminfo.c:3153:12: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3154:20: branch_false: ...to here
vim91/src/viminfo.c:3153:13: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3159:21: branch_false: ...to here
vim91/src/viminfo.c:3205:16: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3212:29: branch_false: ...to here
vim91/src/viminfo.c:3213:16: branch_true: following ‘true’ branch...
vim91/src/viminfo.c:3214:22: branch_true: ...to here
vim91/src/viminfo.c:3214:22: danger: ‘fopen(viminfo_filename(file), "r")’ leaks here; was opened at [(5)](sarif:/runs/0/results/25/codeFlows/0/threadFlows/0/locations/4)
# 3212|   	    wp = tempname + STRLEN(tempname) - 5;
# 3213|   	    if (wp < gettail(tempname))	    // empty file name?
# 3214|-> 		wp = gettail(tempname);
# 3215|   	    for (;;)
# 3216|   	    {

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/viminfo.c:3214:22: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(viminfo_filename(file), "r")’
vim91/src/viminfo.c:3121:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3124:13: branch_false: ...to here
vim91/src/viminfo.c:3125:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3128:13: branch_false: ...to here
vim91/src/viminfo.c:3128:13: acquire_memory: allocated here
vim91/src/viminfo.c:3129:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3153:13: branch_false: ...to here
vim91/src/viminfo.c:3153:12: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3154:20: branch_false: ...to here
vim91/src/viminfo.c:3153:13: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3159:21: branch_false: ...to here
vim91/src/viminfo.c:3205:16: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3212:29: branch_false: ...to here
vim91/src/viminfo.c:3213:16: branch_true: following ‘true’ branch...
vim91/src/viminfo.c:3214:22: branch_true: ...to here
vim91/src/viminfo.c:3214:22: danger: ‘fopen(viminfo_filename(file), "r")’ leaks here; was allocated at [(5)](sarif:/runs/0/results/26/codeFlows/0/threadFlows/0/locations/4)
# 3212|   	    wp = tempname + STRLEN(tempname) - 5;
# 3213|   	    if (wp < gettail(tempname))	    // empty file name?
# 3214|-> 		wp = gettail(tempname);
# 3215|   	    for (;;)
# 3216|   	    {

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/viminfo.c:3229:25: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(viminfo_filename(file), "r")’
vim91/src/viminfo.c:3121:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3124:13: branch_false: ...to here
vim91/src/viminfo.c:3125:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3128:13: branch_false: ...to here
vim91/src/viminfo.c:3128:13: acquire_resource: opened here
vim91/src/viminfo.c:3129:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3153:13: branch_false: ...to here
vim91/src/viminfo.c:3153:12: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3154:20: branch_false: ...to here
vim91/src/viminfo.c:3153:13: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3159:21: branch_false: ...to here
vim91/src/viminfo.c:3205:16: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3212:29: branch_false: ...to here
vim91/src/viminfo.c:3226:24: branch_true: following ‘true’ branch (when ‘shortname == 0’)...
vim91/src/viminfo.c:3226:39: branch_true: ...to here
vim91/src/viminfo.c:3229:25: danger: ‘fopen(viminfo_filename(file), "r")’ leaks here; was opened at [(5)](sarif:/runs/0/results/27/codeFlows/0/threadFlows/0/locations/4)
# 3227|   						&& st_new.st_ino == st_old.st_ino)
# 3228|   		    {
# 3229|-> 			VIM_CLEAR(tempname);
# 3230|   			shortname = TRUE;
# 3231|   			break;

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/viminfo.c:3229:25: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(viminfo_filename(file), "r")’
vim91/src/viminfo.c:3121:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3124:13: branch_false: ...to here
vim91/src/viminfo.c:3125:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3128:13: branch_false: ...to here
vim91/src/viminfo.c:3128:13: acquire_memory: allocated here
vim91/src/viminfo.c:3129:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3153:13: branch_false: ...to here
vim91/src/viminfo.c:3153:12: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3154:20: branch_false: ...to here
vim91/src/viminfo.c:3153:13: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3159:21: branch_false: ...to here
vim91/src/viminfo.c:3205:16: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3212:29: branch_false: ...to here
vim91/src/viminfo.c:3226:24: branch_true: following ‘true’ branch (when ‘shortname == 0’)...
vim91/src/viminfo.c:3226:39: branch_true: ...to here
vim91/src/viminfo.c:3229:25: danger: ‘fopen(viminfo_filename(file), "r")’ leaks here; was allocated at [(5)](sarif:/runs/0/results/28/codeFlows/0/threadFlows/0/locations/4)
# 3227|   						&& st_new.st_ino == st_old.st_ino)
# 3228|   		    {
# 3229|-> 			VIM_CLEAR(tempname);
# 3230|   			shortname = TRUE;
# 3231|   			break;

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/viminfo.c:3314:27: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(viminfo_filename(file), "r")’
vim91/src/viminfo.c:3121:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3124:13: branch_false: ...to here
vim91/src/viminfo.c:3125:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3128:13: branch_false: ...to here
vim91/src/viminfo.c:3128:13: acquire_resource: opened here
vim91/src/viminfo.c:3129:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3153:13: branch_false: ...to here
vim91/src/viminfo.c:3153:12: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3154:20: branch_false: ...to here
vim91/src/viminfo.c:3153:13: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3159:21: branch_false: ...to here
vim91/src/viminfo.c:3205:16: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3212:29: branch_false: ...to here
vim91/src/viminfo.c:3292:16: branch_true: following ‘true’ branch (when ‘tempname’ is non-NULL)...
vim91/src/viminfo.c:3298:13: branch_true: ...to here
vim91/src/viminfo.c:3298:12: branch_true: following ‘true’ branch...
vim91/src/viminfo.c:3304:17: branch_true: ...to here
vim91/src/viminfo.c:3304:16: branch_true: following ‘true’ branch...
vim91/src/viminfo.c:3306:21: branch_true: ...to here
vim91/src/viminfo.c:3310:20: branch_true: following ‘true’ branch...
vim91/src/viminfo.c:3311:28: branch_true: ...to here
vim91/src/viminfo.c:3310:21: branch_true: following ‘true’ branch...
vim91/src/viminfo.c:3314:27: branch_true: ...to here
vim91/src/viminfo.c:3314:27: danger: ‘fopen(viminfo_filename(file), "r")’ leaks here; was opened at [(5)](sarif:/runs/0/results/29/codeFlows/0/threadFlows/0/locations/4)
# 3312|   		    // can't set the group to what it should be, remove
# 3313|   		    // group permissions
# 3314|-> 		    (void)mch_setperm(tempname, 0600);
# 3315|   	    }
# 3316|   	    else

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/viminfo.c:3314:27: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(viminfo_filename(file), "r")’
vim91/src/viminfo.c:3121:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3124:13: branch_false: ...to here
vim91/src/viminfo.c:3125:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3128:13: branch_false: ...to here
vim91/src/viminfo.c:3128:13: acquire_memory: allocated here
vim91/src/viminfo.c:3129:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3153:13: branch_false: ...to here
vim91/src/viminfo.c:3153:12: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3154:20: branch_false: ...to here
vim91/src/viminfo.c:3153:13: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3159:21: branch_false: ...to here
vim91/src/viminfo.c:3205:16: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3212:29: branch_false: ...to here
vim91/src/viminfo.c:3292:16: branch_true: following ‘true’ branch (when ‘tempname’ is non-NULL)...
vim91/src/viminfo.c:3298:13: branch_true: ...to here
vim91/src/viminfo.c:3298:12: branch_true: following ‘true’ branch...
vim91/src/viminfo.c:3304:17: branch_true: ...to here
vim91/src/viminfo.c:3304:16: branch_true: following ‘true’ branch...
vim91/src/viminfo.c:3306:21: branch_true: ...to here
vim91/src/viminfo.c:3310:20: branch_true: following ‘true’ branch...
vim91/src/viminfo.c:3311:28: branch_true: ...to here
vim91/src/viminfo.c:3310:21: branch_true: following ‘true’ branch...
vim91/src/viminfo.c:3314:27: branch_true: ...to here
vim91/src/viminfo.c:3314:27: danger: ‘fopen(viminfo_filename(file), "r")’ leaks here; was allocated at [(5)](sarif:/runs/0/results/30/codeFlows/0/threadFlows/0/locations/4)
# 3312|   		    // can't set the group to what it should be, remove
# 3313|   		    // group permissions
# 3314|-> 		    (void)mch_setperm(tempname, 0600);
# 3315|   	    }
# 3316|   	    else

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/viminfo.c:3314:27: warning[-Wanalyzer-malloc-leak]: leak of ‘fp_out’
vim91/src/viminfo.c:3121:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3124:13: branch_false: ...to here
vim91/src/viminfo.c:3125:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3128:13: branch_false: ...to here
vim91/src/viminfo.c:3129:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3153:13: branch_false: ...to here
vim91/src/viminfo.c:3153:12: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3154:20: branch_false: ...to here
vim91/src/viminfo.c:3153:13: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3159:21: branch_false: ...to here
vim91/src/viminfo.c:3205:16: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3212:29: branch_false: ...to here
vim91/src/viminfo.c:3274:34: acquire_memory: allocated here
vim91/src/viminfo.c:3292:16: branch_true: following ‘true’ branch (when ‘tempname’ is non-NULL)...
vim91/src/viminfo.c:3298:13: branch_true: ...to here
vim91/src/viminfo.c:3298:12: branch_true: following ‘true’ branch...
vim91/src/viminfo.c:3304:17: branch_true: ...to here
vim91/src/viminfo.c:3304:16: branch_true: following ‘true’ branch...
vim91/src/viminfo.c:3306:21: branch_true: ...to here
vim91/src/viminfo.c:3310:20: branch_true: following ‘true’ branch...
vim91/src/viminfo.c:3311:28: branch_true: ...to here
vim91/src/viminfo.c:3310:21: branch_true: following ‘true’ branch...
vim91/src/viminfo.c:3314:27: branch_true: ...to here
vim91/src/viminfo.c:3314:27: danger: ‘fp_out’ leaks here; was allocated at [(13)](sarif:/runs/0/results/31/codeFlows/0/threadFlows/0/locations/12)
# 3312|   		    // can't set the group to what it should be, remove
# 3313|   		    // group permissions
# 3314|-> 		    (void)mch_setperm(tempname, 0600);
# 3315|   	    }
# 3316|   	    else

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/viminfo.c:3318:23: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(viminfo_filename(file), "r")’
vim91/src/viminfo.c:3121:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3124:13: branch_false: ...to here
vim91/src/viminfo.c:3125:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3128:13: branch_false: ...to here
vim91/src/viminfo.c:3128:13: acquire_resource: opened here
vim91/src/viminfo.c:3129:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3153:13: branch_false: ...to here
vim91/src/viminfo.c:3153:12: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3154:20: branch_false: ...to here
vim91/src/viminfo.c:3153:13: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3159:21: branch_false: ...to here
vim91/src/viminfo.c:3205:16: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3212:29: branch_false: ...to here
vim91/src/viminfo.c:3292:16: branch_true: following ‘true’ branch (when ‘tempname’ is non-NULL)...
vim91/src/viminfo.c:3298:13: branch_true: ...to here
vim91/src/viminfo.c:3298:12: branch_true: following ‘true’ branch...
vim91/src/viminfo.c:3304:17: branch_true: ...to here
vim91/src/viminfo.c:3304:16: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3318:23: branch_false: ...to here
vim91/src/viminfo.c:3318:23: danger: ‘fopen(viminfo_filename(file), "r")’ leaks here; was opened at [(5)](sarif:/runs/0/results/32/codeFlows/0/threadFlows/0/locations/4)
# 3316|   	    else
# 3317|   		// can't stat the file, set conservative permissions
# 3318|-> 		(void)mch_setperm(tempname, 0600);
# 3319|   	}
# 3320|   #endif

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/viminfo.c:3318:23: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(viminfo_filename(file), "r")’
vim91/src/viminfo.c:3121:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3124:13: branch_false: ...to here
vim91/src/viminfo.c:3125:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3128:13: branch_false: ...to here
vim91/src/viminfo.c:3128:13: acquire_memory: allocated here
vim91/src/viminfo.c:3129:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3153:13: branch_false: ...to here
vim91/src/viminfo.c:3153:12: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3154:20: branch_false: ...to here
vim91/src/viminfo.c:3153:13: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3159:21: branch_false: ...to here
vim91/src/viminfo.c:3205:16: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3212:29: branch_false: ...to here
vim91/src/viminfo.c:3292:16: branch_true: following ‘true’ branch (when ‘tempname’ is non-NULL)...
vim91/src/viminfo.c:3298:13: branch_true: ...to here
vim91/src/viminfo.c:3298:12: branch_true: following ‘true’ branch...
vim91/src/viminfo.c:3304:17: branch_true: ...to here
vim91/src/viminfo.c:3304:16: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3318:23: branch_false: ...to here
vim91/src/viminfo.c:3318:23: danger: ‘fopen(viminfo_filename(file), "r")’ leaks here; was allocated at [(5)](sarif:/runs/0/results/33/codeFlows/0/threadFlows/0/locations/4)
# 3316|   	    else
# 3317|   		// can't stat the file, set conservative permissions
# 3318|-> 		(void)mch_setperm(tempname, 0600);
# 3319|   	}
# 3320|   #endif

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/viminfo.c:3318:23: warning[-Wanalyzer-malloc-leak]: leak of ‘fp_out’
vim91/src/viminfo.c:3121:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3124:13: branch_false: ...to here
vim91/src/viminfo.c:3125:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3128:13: branch_false: ...to here
vim91/src/viminfo.c:3129:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3153:13: branch_false: ...to here
vim91/src/viminfo.c:3153:12: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3154:20: branch_false: ...to here
vim91/src/viminfo.c:3153:13: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3159:21: branch_false: ...to here
vim91/src/viminfo.c:3205:16: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3212:29: branch_false: ...to here
vim91/src/viminfo.c:3274:34: acquire_memory: allocated here
vim91/src/viminfo.c:3292:16: branch_true: following ‘true’ branch (when ‘tempname’ is non-NULL)...
vim91/src/viminfo.c:3298:13: branch_true: ...to here
vim91/src/viminfo.c:3298:12: branch_true: following ‘true’ branch...
vim91/src/viminfo.c:3304:17: branch_true: ...to here
vim91/src/viminfo.c:3304:16: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3318:23: branch_false: ...to here
vim91/src/viminfo.c:3318:23: danger: ‘fp_out’ leaks here; was allocated at [(13)](sarif:/runs/0/results/34/codeFlows/0/threadFlows/0/locations/12)
# 3316|   	    else
# 3317|   		// can't stat the file, set conservative permissions
# 3318|-> 		(void)mch_setperm(tempname, 0600);
# 3319|   	}
# 3320|   #endif

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/viminfo.c:3326:9: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(viminfo_filename(file), "r")’
vim91/src/viminfo.c:3121:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3124:13: branch_false: ...to here
vim91/src/viminfo.c:3125:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3128:13: branch_false: ...to here
vim91/src/viminfo.c:3128:13: acquire_resource: opened here
vim91/src/viminfo.c:3129:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3153:13: branch_false: ...to here
vim91/src/viminfo.c:3153:12: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3154:20: branch_false: ...to here
vim91/src/viminfo.c:3153:13: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3159:21: branch_false: ...to here
vim91/src/viminfo.c:3298:12: branch_false: following ‘false’ branch...
<unknown>: branch_false: ...to here
vim91/src/viminfo.c:3324:8: branch_true: following ‘true’ branch (when ‘fp_out’ is NULL)...
vim91/src/viminfo.c:3327:25: branch_true: ...to here
vim91/src/viminfo.c:3326:9: branch_true: following ‘true’ branch...
vim91/src/viminfo.c:3326:15: branch_true: ...to here
vim91/src/viminfo.c:3326:9: danger: ‘fopen(viminfo_filename(file), "r")’ leaks here; was opened at [(5)](sarif:/runs/0/results/35/codeFlows/0/threadFlows/0/locations/4)
# 3324|       if (fp_out == NULL)
# 3325|       {
# 3326|-> 	semsg(_(e_cant_write_viminfo_file_str),
# 3327|   		       (fp_in == NULL || tempname == NULL) ? fname : tempname);
# 3328|   	if (fp_in != NULL)

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/viminfo.c:3326:9: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(viminfo_filename(file), "r")’
vim91/src/viminfo.c:3121:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3124:13: branch_false: ...to here
vim91/src/viminfo.c:3125:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3128:13: branch_false: ...to here
vim91/src/viminfo.c:3128:13: acquire_memory: allocated here
vim91/src/viminfo.c:3129:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3153:13: branch_false: ...to here
vim91/src/viminfo.c:3153:12: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3154:20: branch_false: ...to here
vim91/src/viminfo.c:3153:13: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3159:21: branch_false: ...to here
vim91/src/viminfo.c:3298:12: branch_false: following ‘false’ branch...
<unknown>: branch_false: ...to here
vim91/src/viminfo.c:3324:8: branch_true: following ‘true’ branch (when ‘fp_out’ is NULL)...
vim91/src/viminfo.c:3327:25: branch_true: ...to here
vim91/src/viminfo.c:3326:9: branch_true: following ‘true’ branch...
vim91/src/viminfo.c:3326:15: branch_true: ...to here
vim91/src/viminfo.c:3326:9: danger: ‘fopen(viminfo_filename(file), "r")’ leaks here; was allocated at [(5)](sarif:/runs/0/results/36/codeFlows/0/threadFlows/0/locations/4)
# 3324|       if (fp_out == NULL)
# 3325|       {
# 3326|-> 	semsg(_(e_cant_write_viminfo_file_str),
# 3327|   		       (fp_in == NULL || tempname == NULL) ? fname : tempname);
# 3328|   	if (fp_in != NULL)

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/viminfo.c:3335:9: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(viminfo_filename(file), "r")’
vim91/src/viminfo.c:3121:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3124:13: branch_false: ...to here
vim91/src/viminfo.c:3125:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3128:13: branch_false: ...to here
vim91/src/viminfo.c:3128:13: acquire_resource: opened here
vim91/src/viminfo.c:3129:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3153:13: branch_false: ...to here
vim91/src/viminfo.c:3153:12: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3154:20: branch_false: ...to here
vim91/src/viminfo.c:3153:13: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3159:21: branch_false: ...to here
vim91/src/viminfo.c:3205:16: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3212:29: branch_false: ...to here
vim91/src/viminfo.c:3292:16: branch_true: following ‘true’ branch (when ‘tempname’ is non-NULL)...
vim91/src/viminfo.c:3298:13: branch_true: ...to here
vim91/src/viminfo.c:3298:12: branch_true: following ‘true’ branch...
vim91/src/viminfo.c:3304:17: branch_true: ...to here
vim91/src/viminfo.c:3324:8: branch_false: following ‘false’ branch (when ‘fp_out’ is non-NULL)...
vim91/src/viminfo.c:3333:9: branch_false: ...to here
vim91/src/viminfo.c:3333:8: branch_true: following ‘true’ branch...
vim91/src/viminfo.c:3335:9: branch_true: ...to here
vim91/src/viminfo.c:3335:9: danger: ‘fopen(viminfo_filename(file), "r")’ leaks here; was opened at [(5)](sarif:/runs/0/results/38/codeFlows/0/threadFlows/0/locations/4)
# 3333|       if (p_verbose > 0)
# 3334|       {
# 3335|-> 	verbose_enter();
# 3336|   	smsg(_("Writing viminfo file \"%s\""), fname);
# 3337|   	verbose_leave();

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/viminfo.c:3335:9: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(viminfo_filename(file), "r")’
vim91/src/viminfo.c:3121:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3124:13: branch_false: ...to here
vim91/src/viminfo.c:3125:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3128:13: branch_false: ...to here
vim91/src/viminfo.c:3128:13: acquire_memory: allocated here
vim91/src/viminfo.c:3129:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3153:13: branch_false: ...to here
vim91/src/viminfo.c:3153:12: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3154:20: branch_false: ...to here
vim91/src/viminfo.c:3153:13: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3159:21: branch_false: ...to here
vim91/src/viminfo.c:3205:16: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3212:29: branch_false: ...to here
vim91/src/viminfo.c:3292:16: branch_true: following ‘true’ branch (when ‘tempname’ is non-NULL)...
vim91/src/viminfo.c:3298:13: branch_true: ...to here
vim91/src/viminfo.c:3298:12: branch_true: following ‘true’ branch...
vim91/src/viminfo.c:3304:17: branch_true: ...to here
vim91/src/viminfo.c:3324:8: branch_false: following ‘false’ branch (when ‘fp_out’ is non-NULL)...
vim91/src/viminfo.c:3333:9: branch_false: ...to here
vim91/src/viminfo.c:3333:8: branch_true: following ‘true’ branch...
vim91/src/viminfo.c:3335:9: branch_true: ...to here
vim91/src/viminfo.c:3335:9: danger: ‘fopen(viminfo_filename(file), "r")’ leaks here; was allocated at [(5)](sarif:/runs/0/results/40/codeFlows/0/threadFlows/0/locations/4)
# 3333|       if (p_verbose > 0)
# 3334|       {
# 3335|-> 	verbose_enter();
# 3336|   	smsg(_("Writing viminfo file \"%s\""), fname);
# 3337|   	verbose_leave();

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/viminfo.c:3335:9: warning[-Wanalyzer-malloc-leak]: leak of ‘fp_out’
vim91/src/viminfo.c:3103:1: enter_function: entry to ‘write_viminfo’
vim91/src/viminfo.c:3121:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3124:13: branch_false: ...to here
vim91/src/viminfo.c:3125:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3128:13: branch_false: ...to here
vim91/src/viminfo.c:3129:8: branch_true: following ‘true’ branch...
vim91/src/viminfo.c:3134:13: branch_true: ...to here
vim91/src/viminfo.c:3134:12: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3141:14: call_function: inlined call to ‘open’ from ‘write_viminfo’
vim91/src/viminfo.c:3143:12: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3145:18: branch_false: ...to here
vim91/src/viminfo.c:3145:18: acquire_memory: allocated here
vim91/src/viminfo.c:3324:8: branch_false: following ‘false’ branch (when ‘fp_out’ is non-NULL)...
vim91/src/viminfo.c:3333:9: branch_false: ...to here
vim91/src/viminfo.c:3333:8: branch_true: following ‘true’ branch...
vim91/src/viminfo.c:3335:9: branch_true: ...to here
vim91/src/viminfo.c:3335:9: danger: ‘fp_out’ leaks here; was allocated at [(13)](sarif:/runs/0/results/37/codeFlows/0/threadFlows/0/locations/12)
# 3333|       if (p_verbose > 0)
# 3334|       {
# 3335|-> 	verbose_enter();
# 3336|   	smsg(_("Writing viminfo file \"%s\""), fname);
# 3337|   	verbose_leave();

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/viminfo.c:3336:9: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(viminfo_filename(file), "r")’
vim91/src/viminfo.c:3121:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3124:13: branch_false: ...to here
vim91/src/viminfo.c:3125:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3128:13: branch_false: ...to here
vim91/src/viminfo.c:3128:13: acquire_resource: opened here
vim91/src/viminfo.c:3129:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3153:13: branch_false: ...to here
vim91/src/viminfo.c:3153:12: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3154:20: branch_false: ...to here
vim91/src/viminfo.c:3153:13: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3159:21: branch_false: ...to here
vim91/src/viminfo.c:3205:16: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3212:29: branch_false: ...to here
vim91/src/viminfo.c:3292:16: branch_true: following ‘true’ branch (when ‘tempname’ is non-NULL)...
vim91/src/viminfo.c:3298:13: branch_true: ...to here
vim91/src/viminfo.c:3298:12: branch_true: following ‘true’ branch...
vim91/src/viminfo.c:3304:17: branch_true: ...to here
vim91/src/viminfo.c:3324:8: branch_false: following ‘false’ branch (when ‘fp_out’ is non-NULL)...
vim91/src/viminfo.c:3333:9: branch_false: ...to here
vim91/src/viminfo.c:3333:8: branch_true: following ‘true’ branch...
vim91/src/viminfo.c:3335:9: branch_true: ...to here
vim91/src/viminfo.c:3336:9: danger: ‘fopen(viminfo_filename(file), "r")’ leaks here; was opened at [(5)](sarif:/runs/0/results/42/codeFlows/0/threadFlows/0/locations/4)
# 3334|       {
# 3335|   	verbose_enter();
# 3336|-> 	smsg(_("Writing viminfo file \"%s\""), fname);
# 3337|   	verbose_leave();
# 3338|       }

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/viminfo.c:3336:9: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(viminfo_filename(file), "r")’
vim91/src/viminfo.c:3121:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3124:13: branch_false: ...to here
vim91/src/viminfo.c:3125:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3128:13: branch_false: ...to here
vim91/src/viminfo.c:3128:13: acquire_memory: allocated here
vim91/src/viminfo.c:3129:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3153:13: branch_false: ...to here
vim91/src/viminfo.c:3153:12: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3154:20: branch_false: ...to here
vim91/src/viminfo.c:3153:13: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3159:21: branch_false: ...to here
vim91/src/viminfo.c:3205:16: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3212:29: branch_false: ...to here
vim91/src/viminfo.c:3292:16: branch_true: following ‘true’ branch (when ‘tempname’ is non-NULL)...
vim91/src/viminfo.c:3298:13: branch_true: ...to here
vim91/src/viminfo.c:3298:12: branch_true: following ‘true’ branch...
vim91/src/viminfo.c:3304:17: branch_true: ...to here
vim91/src/viminfo.c:3324:8: branch_false: following ‘false’ branch (when ‘fp_out’ is non-NULL)...
vim91/src/viminfo.c:3333:9: branch_false: ...to here
vim91/src/viminfo.c:3333:8: branch_true: following ‘true’ branch...
vim91/src/viminfo.c:3335:9: branch_true: ...to here
vim91/src/viminfo.c:3336:9: danger: ‘fopen(viminfo_filename(file), "r")’ leaks here; was allocated at [(5)](sarif:/runs/0/results/44/codeFlows/0/threadFlows/0/locations/4)
# 3334|       {
# 3335|   	verbose_enter();
# 3336|-> 	smsg(_("Writing viminfo file \"%s\""), fname);
# 3337|   	verbose_leave();
# 3338|       }

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/viminfo.c:3336:9: warning[-Wanalyzer-malloc-leak]: leak of ‘fp_out’
vim91/src/viminfo.c:3103:1: enter_function: entry to ‘write_viminfo’
vim91/src/viminfo.c:3121:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3124:13: branch_false: ...to here
vim91/src/viminfo.c:3125:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3128:13: branch_false: ...to here
vim91/src/viminfo.c:3129:8: branch_true: following ‘true’ branch...
vim91/src/viminfo.c:3134:13: branch_true: ...to here
vim91/src/viminfo.c:3134:12: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3141:14: call_function: inlined call to ‘open’ from ‘write_viminfo’
vim91/src/viminfo.c:3143:12: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3145:18: branch_false: ...to here
vim91/src/viminfo.c:3145:18: acquire_memory: allocated here
vim91/src/viminfo.c:3324:8: branch_false: following ‘false’ branch (when ‘fp_out’ is non-NULL)...
vim91/src/viminfo.c:3333:9: branch_false: ...to here
vim91/src/viminfo.c:3333:8: branch_true: following ‘true’ branch...
vim91/src/viminfo.c:3335:9: branch_true: ...to here
vim91/src/viminfo.c:3336:9: danger: ‘fp_out’ leaks here; was allocated at [(13)](sarif:/runs/0/results/41/codeFlows/0/threadFlows/0/locations/12)
# 3334|       {
# 3335|   	verbose_enter();
# 3336|-> 	smsg(_("Writing viminfo file \"%s\""), fname);
# 3337|   	verbose_leave();
# 3338|       }

Error: GCC_ANALYZER_WARNING (CWE-775):
vim91/src/viminfo.c:3337:9: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(viminfo_filename(file), "r")’
vim91/src/viminfo.c:3121:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3124:13: branch_false: ...to here
vim91/src/viminfo.c:3125:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3128:13: branch_false: ...to here
vim91/src/viminfo.c:3128:13: acquire_resource: opened here
vim91/src/viminfo.c:3129:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3153:13: branch_false: ...to here
vim91/src/viminfo.c:3153:12: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3154:20: branch_false: ...to here
vim91/src/viminfo.c:3153:13: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3159:21: branch_false: ...to here
vim91/src/viminfo.c:3205:16: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3212:29: branch_false: ...to here
vim91/src/viminfo.c:3292:16: branch_true: following ‘true’ branch (when ‘tempname’ is non-NULL)...
vim91/src/viminfo.c:3298:13: branch_true: ...to here
vim91/src/viminfo.c:3298:12: branch_true: following ‘true’ branch...
vim91/src/viminfo.c:3304:17: branch_true: ...to here
vim91/src/viminfo.c:3324:8: branch_false: following ‘false’ branch (when ‘fp_out’ is non-NULL)...
vim91/src/viminfo.c:3333:9: branch_false: ...to here
vim91/src/viminfo.c:3333:8: branch_true: following ‘true’ branch...
vim91/src/viminfo.c:3335:9: branch_true: ...to here
vim91/src/viminfo.c:3337:9: danger: ‘fopen(viminfo_filename(file), "r")’ leaks here; was opened at [(5)](sarif:/runs/0/results/46/codeFlows/0/threadFlows/0/locations/4)
# 3335|   	verbose_enter();
# 3336|   	smsg(_("Writing viminfo file \"%s\""), fname);
# 3337|-> 	verbose_leave();
# 3338|       }
# 3339|   

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/viminfo.c:3337:9: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(viminfo_filename(file), "r")’
vim91/src/viminfo.c:3121:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3124:13: branch_false: ...to here
vim91/src/viminfo.c:3125:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3128:13: branch_false: ...to here
vim91/src/viminfo.c:3128:13: acquire_memory: allocated here
vim91/src/viminfo.c:3129:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3153:13: branch_false: ...to here
vim91/src/viminfo.c:3153:12: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3154:20: branch_false: ...to here
vim91/src/viminfo.c:3153:13: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3159:21: branch_false: ...to here
vim91/src/viminfo.c:3205:16: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3212:29: branch_false: ...to here
vim91/src/viminfo.c:3292:16: branch_true: following ‘true’ branch (when ‘tempname’ is non-NULL)...
vim91/src/viminfo.c:3298:13: branch_true: ...to here
vim91/src/viminfo.c:3298:12: branch_true: following ‘true’ branch...
vim91/src/viminfo.c:3304:17: branch_true: ...to here
vim91/src/viminfo.c:3324:8: branch_false: following ‘false’ branch (when ‘fp_out’ is non-NULL)...
vim91/src/viminfo.c:3333:9: branch_false: ...to here
vim91/src/viminfo.c:3333:8: branch_true: following ‘true’ branch...
vim91/src/viminfo.c:3335:9: branch_true: ...to here
vim91/src/viminfo.c:3337:9: danger: ‘fopen(viminfo_filename(file), "r")’ leaks here; was allocated at [(5)](sarif:/runs/0/results/47/codeFlows/0/threadFlows/0/locations/4)
# 3335|   	verbose_enter();
# 3336|   	smsg(_("Writing viminfo file \"%s\""), fname);
# 3337|-> 	verbose_leave();
# 3338|       }
# 3339|   

Error: GCC_ANALYZER_WARNING (CWE-401):
vim91/src/viminfo.c:3337:9: warning[-Wanalyzer-malloc-leak]: leak of ‘fp_out’
vim91/src/viminfo.c:3103:1: enter_function: entry to ‘write_viminfo’
vim91/src/viminfo.c:3121:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3124:13: branch_false: ...to here
vim91/src/viminfo.c:3125:8: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3128:13: branch_false: ...to here
vim91/src/viminfo.c:3129:8: branch_true: following ‘true’ branch...
vim91/src/viminfo.c:3134:13: branch_true: ...to here
vim91/src/viminfo.c:3134:12: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3141:14: call_function: inlined call to ‘open’ from ‘write_viminfo’
vim91/src/viminfo.c:3143:12: branch_false: following ‘false’ branch...
vim91/src/viminfo.c:3145:18: branch_false: ...to here
vim91/src/viminfo.c:3145:18: acquire_memory: allocated here
vim91/src/viminfo.c:3324:8: branch_false: following ‘false’ branch (when ‘fp_out’ is non-NULL)...
vim91/src/viminfo.c:3333:9: branch_false: ...to here
vim91/src/viminfo.c:3333:8: branch_true: following ‘true’ branch...
vim91/src/viminfo.c:3335:9: branch_true: ...to here
vim91/src/viminfo.c:3337:9: danger: ‘fp_out’ leaks here; was allocated at [(13)](sarif:/runs/0/results/45/codeFlows/0/threadFlows/0/locations/12)
# 3335|   	verbose_enter();
# 3336|   	smsg(_("Writing viminfo file \"%s\""), fname);
# 3337|-> 	verbose_leave();
# 3338|       }
# 3339|   

Error: COMPILER_WARNING:
vim91/src/wayland.c: warning: -D_FORTIFY_SOURCE defined but value is too low

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

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

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

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

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

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

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

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