diff options
-rw-r--r-- | greeter/greet.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/greeter/greet.c b/greeter/greet.c index 1afe2f1..778c525 100644 --- a/greeter/greet.c +++ b/greeter/greet.c @@ -342,6 +342,8 @@ CloseGreet (struct display *d) XSetAccessControl (dpy, DisableAccess); } XtDestroyWidget (toplevel); + toplevel = NULL; + login = NULL; /* child of toplevel, which we just destroyed */ ClearCloseOnFork (XConnectionNumber (dpy)); XCloseDisplay (dpy); Debug ("Greet connection closed\n"); @@ -707,6 +709,11 @@ static int pamconv(int num_msg, m = (struct pam_message *)*msg; r = *response; + if (login == NULL) { + status = PAM_CONV_ERR; + goto pam_error; + } + for (i = 0; i < num_msg; i++ , m++ , r++) { char *username; int promptId = 0; |