]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix infloop in GC mark_kboards
authorPaul Eggert <eggert@cs.ucla.edu>
Sat, 1 Dec 2018 21:40:13 +0000 (13:40 -0800)
committerPaul Eggert <eggert@cs.ucla.edu>
Sat, 1 Dec 2018 21:42:57 +0000 (13:42 -0800)
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

index 0d56ea3f7ac911658d2fed1029acd90d79e7b650..dccc6b7f128e79f9c888594dd9d7c28ac411df53 100644 (file)
@@ -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)