Index: builtins.c =================================================================== RCS file: /home/cvs/grub/stage2/builtins.c,v retrieving revision 1.87 diff -u -u -p -r1.87 builtins.c --- builtins.c 2000/10/07 18:09:42 1.87 +++ builtins.c 2000/10/09 12:30:40 @@ -3182,9 +3182,11 @@ setkey_func (char *arg, int flags) for (i = 0; i < sizeof (keysym_table) / sizeof (keysym_table[0]); i++) { - if (grub_strcmp (key, keysym_table[i].unshifted_name) == 0) + if (keysym_table[i].unshifted_name && + grub_strcmp (key, keysym_table[i].unshifted_name) == 0) return keysym_table[i].keycode; - else if (grub_strcmp (key, keysym_table[i].shifted_name) == 0) + else if (keysym_table[i].shifted_name && + grub_strcmp (key, keysym_table[i].shifted_name) == 0) return keysym_table[i].keycode; } @@ -3197,9 +3199,11 @@ setkey_func (char *arg, int flags) for (i = 0; i < sizeof (keysym_table) / sizeof (keysym_table[0]); i++) { - if (grub_strcmp (key, keysym_table[i].unshifted_name) == 0) + if (keysym_table[i].unshifted_name && + grub_strcmp (key, keysym_table[i].unshifted_name) == 0) return keysym_table[i].unshifted_ascii; - else if (grub_strcmp (key, keysym_table[i].shifted_name) == 0) + else if (keysym_table[i].shifted_name && + grub_strcmp (key, keysym_table[i].shifted_name) == 0) return keysym_table[i].shifted_ascii; }