diff options
author | Jurica Bradaric <jbradaric@gmail.com> | 2016-05-17 20:56:05 +0200 |
---|---|---|
committer | Jurica Bradaric <jbradaric@gmail.com> | 2016-05-17 21:00:31 +0200 |
commit | 91796f70edf7d6f89742c114d1825dae65eca7e1 (patch) | |
tree | 38add648a08ba7e638a3648772e601a230046b55 | |
parent | 12cfe7775f7330d64d77d12114db879bf8073797 (diff) | |
download | rneovim-91796f70edf7d6f89742c114d1825dae65eca7e1.tar.gz rneovim-91796f70edf7d6f89742c114d1825dae65eca7e1.tar.bz2 rneovim-91796f70edf7d6f89742c114d1825dae65eca7e1.zip |
vim-patch:7.4.1832
Problem: Memory leak in debug commands.
Solution: Free memory before overwriting the pointer. (hint by Justin Keyes)
https://github.com/vim/vim/commit/dc303bce10c60a3314078ea168064552fadf01af
-rw-r--r-- | src/nvim/ex_cmds2.c | 7 | ||||
-rw-r--r-- | src/nvim/version.c | 1 |
2 files changed, 2 insertions, 6 deletions
diff --git a/src/nvim/ex_cmds2.c b/src/nvim/ex_cmds2.c index 8b67abf453..5fe6209a0a 100644 --- a/src/nvim/ex_cmds2.c +++ b/src/nvim/ex_cmds2.c @@ -189,6 +189,7 @@ void do_debug(char_u *cmd) ignore_script = TRUE; } + xfree(cmdline); cmdline = getcmdline_prompt('>', NULL, 0, EXPAND_NOTHING, NULL); if (typeahead_saved) { @@ -294,7 +295,6 @@ void do_debug(char_u *cmd) break; case CMD_BACKTRACE: do_showbacktrace(cmd); - xfree(cmdline); // free cmdline before next loop iteration continue; case CMD_FRAME: if (*p == NUL) { @@ -303,17 +303,14 @@ void do_debug(char_u *cmd) p = skipwhite(p); do_setdebugtracelevel(p); } - xfree(cmdline); continue; case CMD_UP: debug_backtrace_level++; do_checkbacktracelevel(); - xfree(cmdline); continue; case CMD_DOWN: debug_backtrace_level--; do_checkbacktracelevel(); - xfree(cmdline); continue; } // Going out reset backtrace_level @@ -327,8 +324,6 @@ void do_debug(char_u *cmd) (void)do_cmdline(cmdline, getexline, NULL, DOCMD_VERBOSE|DOCMD_EXCRESET); debug_break_level = n; - - xfree(cmdline); } lines_left = (int)(Rows - 1); } diff --git a/src/nvim/version.c b/src/nvim/version.c index 27dbf89762..a1346308be 100644 --- a/src/nvim/version.c +++ b/src/nvim/version.c @@ -69,6 +69,7 @@ static char *features[] = { // clang-format off static int included_patches[] = { + 1832, 1809, 1808, 1806, |