Newly introduced findings

List of Findings

Error: GCC_ANALYZER_WARNING (CWE-476): [#def1]
vim92/src/buffer.c:684:40: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘win’
vim92/src/buffer.c:6540:1: enter_function: entry to ‘wipe_buffer’
vim92/src/buffer.c:6550:5: call_function: calling ‘close_buffer’ from ‘wipe_buffer’
#  682|   
#  683|       // When the buffer is no longer in a window, trigger BufWinLeave
#  684|->     if ((win_valid || closed_popup) && win->w_buffer == buf
#  685|   	    && buf->b_nwindows == 1)
#  686|       {

Error: GCC_ANALYZER_WARNING (CWE-476): [#def2]
vim92/src/clipboard.c:2361:5: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘0’
vim92/src/clipboard.c:2352:1: enter_function: entry to ‘vwl_data_device_listener_event_selection’
vim92/src/clipboard.c:2358:32: call_function: inlined call to ‘clip_wl_get_selection’ from ‘vwl_data_device_listener_event_selection’
vim92/src/clipboard.c:2361:5: danger: dereference of NULL ‘<unknown>’
# 2359|   
# 2360|       // Destroy previous offer if any, it is now invalid
# 2361|->     vwl_data_offer_destroy(sel->offer);
# 2362|   
# 2363|       // There are two cases when sel->offer is NULL

Error: GCC_ANALYZER_WARNING (CWE-688): [#def3]
vim92/src/main.c:2775:17: warning[-Wanalyzer-null-argument]: use of NULL ‘p’ where non-null expected
vim92/src/main.c:2102:12: branch_true: following ‘true’ branch (when ‘argc > 0’)...
vim92/src/main.c:2107:13: branch_true: ...to here
vim92/src/main.c:2768:16: branch_true: following ‘true’ branch...
vim92/src/main.c:2768:17: branch_true: following ‘true’ branch...
vim92/src/main.c:2774:44: branch_true: ...to here
vim92/src/main.c:2775:17: danger: argument 1 (‘p’) NULL where non-null expected
# 2773|   
# 2774|   		tail = gettail(alist_name(&GARGLIST[0]));
# 2775|-> 		concat_fnames(p, STRLEN(p), tail, STRLEN(tail), TRUE, &ret);
# 2776|   		if (ret.string != NULL)
# 2777|   		{

Error: GCC_ANALYZER_WARNING (CWE-457): [#def4]
vim92/src/textprop.c:3056:25: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value ‘props’
vim92/src/textprop.c:3034:1: enter_function: entry to ‘adjust_props_for_split’
vim92/src/textprop.c:3047:8: branch_true: following ‘true’ branch...
vim92/src/textprop.c:3051:13: branch_true: ...to here
vim92/src/textprop.c:3051:13: call_function: calling ‘get_text_props’ from ‘adjust_props_for_split’
vim92/src/textprop.c:3051:13: return_function: returning to ‘adjust_props_for_split’ from ‘get_text_props’
vim92/src/textprop.c:3056:25: danger: use of uninitialized value ‘props’ here
# 3054|   
# 3055|       // count_ptr points to the prop_count field in the memline.
# 3056|->     char_u *count_ptr = props - PROP_COUNT_SIZE;
# 3057|   
# 3058|       // Keep the relevant ones in the first line, reducing the length if needed.

Scan Properties

analyzer-version-clippy1.95.0
analyzer-version-cppcheck2.20.0
analyzer-version-gcc16.0.1
analyzer-version-gcc-analyzer16.0.1
analyzer-version-shellcheck0.11.0
analyzer-version-unicontrol0.0.2
diffbase-analyzer-version-clippy1.95.0
diffbase-analyzer-version-cppcheck2.20.0
diffbase-analyzer-version-gcc16.0.1
diffbase-analyzer-version-gcc-analyzer16.0.1
diffbase-analyzer-version-shellcheck0.11.0
diffbase-analyzer-version-unicontrol0.0.2
diffbase-enabled-pluginsclippy, cppcheck, gcc, shellcheck, unicontrol
diffbase-exit-code0
diffbase-hostip-172-16-1-39.us-west-2.compute.internal
diffbase-known-false-positives/usr/share/csmock/known-false-positives.js
diffbase-known-false-positives-rpmknown-false-positives-0.0.0.20260420.180315.gd39a405.main-1.el9.noarch
diffbase-mock-configfedora-rawhide-x86_64
diffbase-project-namevim-9.2.240-1.fc44
diffbase-store-results-to/tmp/tmpni58xs0x/vim-9.2.240-1.fc44.tar.xz
diffbase-time-created2026-04-28 20:09:20
diffbase-time-finished2026-04-28 20:55:46
diffbase-toolcsmock
diffbase-tool-args'/usr/bin/csmock' '-r' 'fedora-rawhide-x86_64' '-t' 'cppcheck,shellcheck,clippy,unicontrol,gcc' '-o' '/tmp/tmpni58xs0x/vim-9.2.240-1.fc44.tar.xz' '--gcc-analyze' '--unicontrol-notests' '--unicontrol-bidi-only' '--install' 'pam' '--gcc-analyzer-bin=/usr/bin/gcc' '/tmp/tmpni58xs0x/vim-9.2.240-1.fc44.src.rpm'
diffbase-tool-versioncsmock-3.8.5-1.el9
enabled-pluginsclippy, cppcheck, gcc, shellcheck, unicontrol
exit-code0
hostip-172-16-1-39.us-west-2.compute.internal
known-false-positives/usr/share/csmock/known-false-positives.js
known-false-positives-rpmknown-false-positives-0.0.0.20260420.180315.gd39a405.main-1.el9.noarch
mock-configfedora-rawhide-x86_64
project-namevim-9.2.390-1.fc45
store-results-to/tmp/tmpt5riqnau/vim-9.2.390-1.fc45.tar.xz
time-created2026-04-28 20:56:12
time-finished2026-04-28 21:42:17
titleNewly introduced findings
toolcsmock
tool-args'/usr/bin/csmock' '-r' 'fedora-rawhide-x86_64' '-t' 'cppcheck,shellcheck,clippy,unicontrol,gcc' '-o' '/tmp/tmpt5riqnau/vim-9.2.390-1.fc45.tar.xz' '--gcc-analyze' '--unicontrol-notests' '--unicontrol-bidi-only' '--install' 'pam' '--gcc-analyzer-bin=/usr/bin/gcc' '/tmp/tmpt5riqnau/vim-9.2.390-1.fc45.src.rpm'
tool-versioncsmock-3.8.5-1.el9