input: do not crash if sctofunc() returns NULL
This fixes a regression introduced by commit 54103d8e
: a crash that
can be triggered by running 'nano --restrict' and pressing <Insert>.
This addresses https://bugzilla.redhat.com/1558532.
Этот коммит содержится в:
родитель
3e5b0ea5fd
Коммит
b830a7dd38
16
src/nano.c
16
src/nano.c
@ -1727,9 +1727,12 @@ int do_input(bool allow_funcs)
|
||||
if (shortcut == NULL)
|
||||
pletion_line = NULL;
|
||||
else {
|
||||
if (ISSET(VIEW_MODE) && !sctofunc(shortcut)->viewok) {
|
||||
print_view_warning();
|
||||
return ERR;
|
||||
if (ISSET(VIEW_MODE)) {
|
||||
const subnfunc *f = sctofunc(shortcut);
|
||||
if (f && !f->viewok) {
|
||||
print_view_warning();
|
||||
return ERR;
|
||||
}
|
||||
}
|
||||
|
||||
/* If the function associated with this shortcut is
|
||||
@ -1801,8 +1804,11 @@ int do_input(bool allow_funcs)
|
||||
wrap_reset();
|
||||
#endif
|
||||
#ifdef ENABLE_COLOR
|
||||
if (!refresh_needed && !sctofunc(shortcut)->viewok)
|
||||
check_the_multis(openfile->current);
|
||||
if (!refresh_needed) {
|
||||
const subnfunc *f = sctofunc(shortcut);
|
||||
if (f && !f->viewok)
|
||||
check_the_multis(openfile->current);
|
||||
}
|
||||
#endif
|
||||
if (!refresh_needed && (shortcut->func == do_delete ||
|
||||
shortcut->func == do_backspace))
|
||||
|
Загрузка…
Ссылка в новой задаче
Block a user