Permalink
Browse files

patch 7.4.2359

Problem:    Memory leak in timer_start().
Solution:   Check the right field to be NULL.
  • Loading branch information...
1 parent d47d837 commit 26fe0d56912e42c2b16a61b2480e19ba569aee98 @brammool brammool committed Sep 10, 2016
Showing with 7 additions and 5 deletions.
  1. +1 −1 src/evalfunc.c
  2. +4 −4 src/testdir/test_timers.vim
  3. +2 −0 src/version.c
View
@@ -12429,7 +12429,7 @@ f_timer_start(typval_T *argvars, typval_T *rettv)
free_callback(callback, partial);
else
{
- if (timer->tr_partial == NULL)
+ if (partial == NULL)
timer->tr_callback = vim_strsave(callback);
else
/* pointer into the partial */
@@ -48,12 +48,12 @@ endfunc
func Test_with_partial_callback()
let g:val = 0
- let s:meow = {}
- function s:meow.bite(...)
- let g:val += 1
+ let meow = {'one': 1}
+ function meow.bite(...)
+ let g:val += self.one
endfunction
- call timer_start(50, s:meow.bite)
+ call timer_start(50, meow.bite)
let slept = WaitFor('g:val == 1')
call assert_equal(1, g:val)
if has('reltime')
View
@@ -764,6 +764,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 2359,
+/**/
2358,
/**/
2357,

0 comments on commit 26fe0d5

Please sign in to comment.