A Cygwin user reported a crash as in the subject. I traced it to line 468 of info/infokey.c, in which there is a reference to function_doc_array[a] with a == A_INVALID:

  ke.value.function = &function_doc_array[a];

As a result, ke.value.function contains garbage. The following patch appears to fix the problem in very limited testing:

Index: info/infokey.c
===================================================================
--- info/infokey.c      (revision 7037)
+++ info/infokey.c      (working copy)
@@ -465,7 +465,9 @@
                       KEYMAP_ENTRY ke;

                       ke.type = ISFUNC;
-                      ke.value.function = &function_doc_array[a];
+                      ke.value.function = a < A_NCOMMANDS ?
+                                &function_doc_array[a]
+                                : NULL;
                       To_seq (0);

                       if (section == info)

Ken

Reply via email to