Mercurial > vim
comparison 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 |
comparison
equal
deleted
inserted
replaced
9528:f4a706d113fa | 9529:581d5131629f |
---|---|
1120 char_u *callback, | 1120 char_u *callback, |
1121 partial_T *partial) | 1121 partial_T *partial) |
1122 { | 1122 { |
1123 free_callback(*cbp, *pp); | 1123 free_callback(*cbp, *pp); |
1124 if (callback != NULL && *callback != NUL) | 1124 if (callback != NULL && *callback != NUL) |
1125 *cbp = vim_strsave(callback); | 1125 { |
1126 if (partial != NULL) | |
1127 *cbp = partial->pt_name; | |
1128 else | |
1129 *cbp = vim_strsave(callback); | |
1130 } | |
1126 else | 1131 else |
1127 *cbp = NULL; | 1132 *cbp = NULL; |
1128 *pp = partial; | 1133 *pp = partial; |
1129 if (*pp != NULL) | 1134 if (*pp != NULL) |
1130 ++(*pp)->pt_refcount; | 1135 ++(*pp)->pt_refcount; |