diff options
author | Joey Gouly <joey.gouly@gmail.com> | 2024-04-13 04:25:55 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-04-13 11:25:55 +0800 |
commit | f064e72b9b9cc89059638f00876353d5a1b30c21 (patch) | |
tree | db8e03c0b541d7c77b1962c391ab604f3d3be7df /runtime/lua/vim/_defaults.lua | |
parent | 780509aedf5c914d1615d57019485ef85c16f669 (diff) | |
download | rneovim-f064e72b9b9cc89059638f00876353d5a1b30c21.tar.gz rneovim-f064e72b9b9cc89059638f00876353d5a1b30c21.tar.bz2 rneovim-f064e72b9b9cc89059638f00876353d5a1b30c21.zip |
fix(path): check return value of append_path() (#28309)
If the filename passed to vim_FullName() is a relative directory, and
does not exist, it is appended to the current working directory. Since
the return value of append_path() was ignored, and if the buffer length
was too small to fit getcwd() + dirname(filename), it would still try to
append the basename(filename).
This was manifesting as a failure in test/unit/path_spec.lua in:
itp('fails and uses filename if given filename contains non-existing directory', ..
This failure occurs when running the tests from directory with a short
path such as: /work/src/nv
test/unit/path_spec.lua:420: Expected objects to be the same.
Passed in:
(string) '/work/src/nv/test.file'
Expected:
(string) 'non_existing_dir/test.file'
This return value for the second call to append_path() to append
basename(filename) was checked, and this is where it would fail for
normal / longer getcwd()s.
Diffstat (limited to 'runtime/lua/vim/_defaults.lua')
0 files changed, 0 insertions, 0 deletions