>From 7df217da0c97702988aadb6b231067a8bcda1703 Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Fri, 30 Nov 2018 14:14:18 -0800 Subject: [PATCH] Fix infloop in GC mark_kboards Do not merge to master, as I have a more systematic fix there. * src/keyboard.c (mark_kboards): Fix infloop (Bug#33547). --- src/keyboard.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/keyboard.c b/src/keyboard.c index 0d56ea3f7a..dccc6b7f12 100644 --- a/src/keyboard.c +++ b/src/keyboard.c @@ -12011,7 +12011,12 @@ mark_kboards (void) for (event = kbd_fetch_ptr; event != kbd_store_ptr; event++) { if (event == kbd_buffer + KBD_BUFFER_SIZE) - event = kbd_buffer; + { + event = kbd_buffer; + if (event == kbd_store_ptr) + break; + } + /* These two special event types has no Lisp_Objects to mark. */ if (event->kind != SELECTION_REQUEST_EVENT && event->kind != SELECTION_CLEAR_EVENT) -- 2.19.2