summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--greeter/greet.c7
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;