Debian Patches

Status for neovim/0.9.5-7

Patch Description Author Forwarded Bugs Origin Last update
fixtest-call-separate_arguments-correctl.patch fix(test): call separate_arguments() correctly to honor $BUSTED_ARGS (#26905)
separate_arguments() doesn't operate in place on a variable. It expects
a string argument to parse and stores the results in the specified
variable.

(cherry picked from commit 52e6059415ba40b955267a9b447b5c57fc45b397)
James McCoy <jamessan@jamessan.com> no 2024-01-05
fixtesttui_spec-pass-the-expected-null-s.patch fix(test/tui_spec): pass the expected NULL-sentinel to execl()
Since execl() is a variadic function, it requries a NULL-terminal to
indicate the end of its argument list, c.f. exec(3)

> The first argument, by convention, should point to the filename
> associated with the file being executed. The list of arguments *must*
> be terminated by a null pointer

This fixes the failure seen on aarch64 and i386, due to garbage data
being considered part of the variadic arguments.

(cherry picked from commit 8861ad83fd7fe795ef3c77f0886694ffd7cd8184)
James McCoy <jamessan@jamessan.com> no 2024-01-05
fixtui-use-buflen-to-calculate-remaining.patch fix(tui): use buflen to calculate remaining buffer size (#26942)
buf is a pointer argument, not a local char array, so sizeof(buf) is just the size of a pointer type on the platform. This is always an incorrect value, but on 32-bit platforms it actually has an impact, since sizeof(buf) is just 4 and causes the buffer to get truncated.

(cherry picked from commit 367e52cc79a786bbee4456b30f9ec5db7e28d6a5)
github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> no 2024-01-07
fixfileio-fix-off-by-one-in-rename_with_.patch fix(fileio): fix off-by-one in rename_with_tmp
`_FORTIFY_SOURCE` on Ubuntu caught this, resulting in:

[OLDTEST] Running test_rename
Failed: test_rename :: Nvim exited with non-zero code
Job exited with code 134
Screen (23 lines)
================================================================================
"test_rename.vim" "test_rename.vim" 120L, 3623B
Executing Test_rename_copy()
Executing Test_rename_dir_to_dir()
Executing Test_rename_fails()
Error detected while processing command line..script /<<BUILDDIR>>/neovim-0.9.5/test/old/testdir/runtest.vim[437]..function RunTheTest[44]..Test_rename_fails:
line 17:
E730: using List as a String
line 18:
E976: using Blob as a String
Executing Test_rename_file_ignore_case()*** buffer overflow detected ***: terminated

`snprintf`'s second parameter should be no greater than the number of
remaining bytes in the allocated object. We can see that this was off
by one, because in the simple case where `tail == tempname` (for a file
in the current directory), `rename_with_tmp` was passing `MAXPATHL + 2`
for an object allocated with a size of only `MAXPATHL + 1`.

Introduced in 5f1a153831d480180b2203120cff776d771ec1a4.
Colin Watson <cjwatson@debian.org> yes 2024-03-08

All known versions for source package 'neovim'

Links