diff options
| author | Justin M. Keyes <justinkz@gmail.com> | 2026-07-13 05:46:46 +0200 |
|---|---|---|
| committer | Justin M. Keyes <justinkz@gmail.com> | 2026-07-13 05:48:05 +0200 |
| commit | e1c1bd3722d4fda27e7fba07445f917522327fb1 (patch) | |
| tree | 33fe8523ef5fa5490968db0af3d0dc63549cb6e0 /runtime/lua/vim/provider/python.lua | |
| parent | 3a7989f4f4b2071bf436f730e363d0aee83ec1e5 (diff) | |
| download | rneovim-e1c1bd3722d4fda27e7fba07445f917522327fb1.tar.gz rneovim-e1c1bd3722d4fda27e7fba07445f917522327fb1.tar.bz2 rneovim-e1c1bd3722d4fda27e7fba07445f917522327fb1.zip | |
fix(coverity): RESOURCE_LEAK, USE_AFTER_FREE
/src/nvim/ex_docmd.c: 5033 in ex_restart()
5027 // The address after --listen may be in use by the current server.
5028 if (i > 0 && strequal(arg, "--listen")) {
5029 const listitem_T *next_li = li->li_next;
5030 if (next_li != NULL) {
5031 const char *addr = tv_get_string(TV_LIST_ITEM_TV(next_li));
5032 if (strstr(addr, ":") || strstr(addr, "/") || strstr(addr, "\\")) {
>>> CID 649201: Resource leaks (RESOURCE_LEAK)
>>> Overwriting "listen_arg" in "listen_arg = xstrdup(addr)" leaks the storage that "listen_arg" points to.
5033 listen_arg = TO_SLASH_SAVE(addr);
5034 #ifdef MSWIN
5035 // On Windows, don't pass --listen to new server (named pipe can't be reused immediately).
5036 // Instead pass the address via RPC; new server rebinds after startup.
5037 li = next_li;
5038 continue;
*** CID 649200: Memory - illegal accesses (USE_AFTER_FREE)
/src/nvim/eval/fs.c: 228 in modify_fname()
222
223 // ":h" - head, remove "/file_name", can be repeated
224 // Don't remove the logical root, see `FileInfo`.
225 while (src[*usedlen] == ':' && src[*usedlen + 1] == 'h') {
226 valid |= VALID_HEAD;
227 *usedlen += 2;
>>> CID 649200: Memory - illegal accesses (USE_AFTER_FREE)
>>> Using freed pointer "s".
228 while (tail > s && after_pathsep(s, tail)) {
229 MB_PTR_BACK(*fnamep, tail);
230 }
231 *fnamelen = tail <= s ? (size_t)(s - *fnamep) : (size_t)(tail - *fnamep);
232 if (*fnamelen == 0) {
233 // Result is empty. Turn it into "." to make ":cd %:h" work.
Diffstat (limited to 'runtime/lua/vim/provider/python.lua')
0 files changed, 0 insertions, 0 deletions