0
0
mirror of https://github.com/vim/vim.git synced 2025-09-23 03:43:49 -04:00

patch 7.4.2361

Problem:    Checking for last_timer_id to overflow is not reliable. (Ozaki
            Kiichi)
Solution:   Check for the number not going up.
This commit is contained in:
Bram Moolenaar
2016-09-10 19:17:42 +02:00
parent 80c3fd7c55
commit ee39ef0b93
2 changed files with 4 additions and 1 deletions

View File

@@ -1143,10 +1143,11 @@ free_timer(timer_T *timer)
create_timer(long msec, int repeat) create_timer(long msec, int repeat)
{ {
timer_T *timer = (timer_T *)alloc_clear(sizeof(timer_T)); timer_T *timer = (timer_T *)alloc_clear(sizeof(timer_T));
long prev_id = last_timer_id;
if (timer == NULL) if (timer == NULL)
return NULL; return NULL;
if (++last_timer_id < 0) if (++last_timer_id <= prev_id)
/* Overflow! Might cause duplicates... */ /* Overflow! Might cause duplicates... */
last_timer_id = 0; last_timer_id = 0;
timer->tr_id = last_timer_id; timer->tr_id = last_timer_id;

View File

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