Do not use sprintf(3) %n. Index: editor/editoptions.c --- editor/editoptions.c.orig +++ editor/editoptions.c @@ -378,15 +378,15 @@ int save_user_defined_keys (struct key_list k_list[], for (i = 0; k_list[i].key_name[0]; i++) { if (k_list[i].keycode2) { - sprintf (p, "%s\t%x %x %x %x %x %x\n%n", k_list[i].key_name, k_list[i].state0, k_list[i].keycode0, - k_list[i].state1, k_list[i].keycode1, k_list[i].state2, k_list[i].keycode2, &n); + n = sprintf (p, "%s\t%x %x %x %x %x %x\n", k_list[i].key_name, k_list[i].state0, k_list[i].keycode0, + k_list[i].state1, k_list[i].keycode1, k_list[i].state2, k_list[i].keycode2); p += n; } else if (k_list[i].keycode1) { - sprintf (p, "%s\t%x %x %x %x\n%n", k_list[i].key_name, k_list[i].state0, k_list[i].keycode0, - k_list[i].state1, k_list[i].keycode1, &n); + n = sprintf (p, "%s\t%x %x %x %x\n", k_list[i].key_name, k_list[i].state0, k_list[i].keycode0, + k_list[i].state1, k_list[i].keycode1); p += n; } else if (k_list[i].keycode0) { - sprintf (p, "%s\t%x %x\n%n", k_list[i].key_name, k_list[i].state0, k_list[i].keycode0, &n); + n = sprintf (p, "%s\t%x %x\n", k_list[i].key_name, k_list[i].state0, k_list[i].keycode0); p += n; } }