From 473911fb731eb740d1c468350eda334638902d94 Mon Sep 17 00:00:00 2001 From: Nicholas Marriott Date: Mon, 3 Sep 2012 06:26:48 +0000 Subject: [PATCH] Can't call evtimer_pending on uninitialized events, call evtimer_initialized first. Reported by Vladimir Lomov, fix from Thomas Adam slightly modified by me. --- tty-keys.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tty-keys.c b/tty-keys.c index cb3b4e03..f375a07b 100644 --- a/tty-keys.c +++ b/tty-keys.c @@ -533,6 +533,7 @@ partial_key: * timer has expired, give up waiting and send the escape. */ if ((tty->flags & TTY_ESCAPE) && + evtimer_initialized(&tty->key_timer) && !evtimer_pending(&tty->key_timer, NULL)) { evbuffer_drain(tty->event->input, 1); key = '\033'; @@ -543,7 +544,8 @@ partial_key: start_timer: /* If already waiting for timer, do nothing. */ - if (evtimer_pending(&tty->key_timer, NULL)) + if (evtimer_initialized(&tty->key_timer) && + evtimer_pending(&tty->key_timer, NULL)) return (0); /* Start the timer and wait for expiry or more data. */