summaryrefslogtreecommitdiff
path: root/src/channel.c
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2016-07-15 21:29:35 +0200
committerBram Moolenaar <Bram@vim.org>2016-07-15 21:29:35 +0200
commit5ef2e762844e0eb1f5b213bd58e6bc38bdb69dac (patch)
tree44b4f268dd80448d2d25d51bd39eb7ad41f54154 /src/channel.c
parent069c1e7fa9f45a665064f7f2c17da84d6a48f544 (diff)
downloadvim-git-5ef2e762844e0eb1f5b213bd58e6bc38bdb69dac.tar.gz
patch 7.4.2045v7.4.2045
Problem: Memory leak when using a function callback. Solution: Don't save the function name when it's in the partial.
Diffstat (limited to 'src/channel.c')
-rw-r--r--src/channel.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/channel.c b/src/channel.c
index 90ef9741a..ae5bdf220 100644
--- a/src/channel.c
+++ b/src/channel.c
@@ -1122,7 +1122,12 @@ set_callback(
{
free_callback(*cbp, *pp);
if (callback != NULL && *callback != NUL)
- *cbp = vim_strsave(callback);
+ {
+ if (partial != NULL)
+ *cbp = partial->pt_name;
+ else
+ *cbp = vim_strsave(callback);
+ }
else
*cbp = NULL;
*pp = partial;