Mercurial > vim
diff src/channel.c @ 9529:581d5131629f v7.4.2045
commit https://github.com/vim/vim/commit/5ef2e762844e0eb1f5b213bd58e6bc38bdb69dac
Author: Bram Moolenaar <Bram@vim.org>
Date: Fri Jul 15 21:29:35 2016 +0200
patch 7.4.2045
Problem: Memory leak when using a function callback.
Solution: Don't save the function name when it's in the partial.
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Fri, 15 Jul 2016 21:30:07 +0200 |
parents | 404de131cff9 |
children | 172131507c85 |
line wrap: on
line diff
--- 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;