0
0
mirror of https://github.com/vim/vim.git synced 2025-09-28 04:24:06 -04:00

patch 7.4.2359

Problem:    Memory leak in timer_start().
Solution:   Check the right field to be NULL.
This commit is contained in:
Bram Moolenaar
2016-09-10 14:27:30 +02:00
parent d47d83745f
commit 26fe0d5691
3 changed files with 7 additions and 5 deletions

View File

@@ -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 */

View File

@@ -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 File

@@ -763,6 +763,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
2359,
/**/
2358,
/**/