diff --git a/plugins/sudoers/check.c b/plugins/sudoers/check.c index ba76f13a8..21dc2e4da 100644 --- a/plugins/sudoers/check.c +++ b/plugins/sudoers/check.c @@ -232,7 +232,7 @@ done: void display_lecture(struct sudo_conv_callback *callback) { - struct getpass_closure *closure = callback->closure; + struct getpass_closure *closure; struct sudo_conv_message msg; struct sudo_conv_reply repl; char buf[BUFSIZ]; @@ -241,6 +241,9 @@ display_lecture(struct sudo_conv_callback *callback) int fd; debug_decl(lecture, SUDOERS_DEBUG_AUTH); + if (callback == NULL || (closure = callback->closure) == NULL) + debug_return; + if (closure->lectured) debug_return;