aboutsummaryrefslogtreecommitdiff
path: root/src/pam-freerdp.c
diff options
context:
space:
mode:
authorTed Gould <ted@gould.cx>2012-08-30 11:55:41 -0500
committerTed Gould <ted@gould.cx>2012-08-30 11:55:41 -0500
commitfc6dac468200850eda982bc3a9f4d7f4a0cf4311 (patch)
treefccef5c133a4c67b2d93f2902d8813966a7749eb /src/pam-freerdp.c
parentd009da6cd677f106448a6692687a4d123b170dee (diff)
downloadlibpam-x2go-fc6dac468200850eda982bc3a9f4d7f4a0cf4311.tar.gz
libpam-x2go-fc6dac468200850eda982bc3a9f4d7f4a0cf4311.tar.bz2
libpam-x2go-fc6dac468200850eda982bc3a9f4d7f4a0cf4311.zip
Make sure to clear the environments
Diffstat (limited to 'src/pam-freerdp.c')
-rw-r--r--src/pam-freerdp.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/pam-freerdp.c b/src/pam-freerdp.c
index 43b16d5..ed83402 100644
--- a/src/pam-freerdp.c
+++ b/src/pam-freerdp.c
@@ -238,6 +238,10 @@ pam_sm_authenticate (pam_handle_t *pamh, int flags, int argc, const char **argv)
_exit(EXIT_FAILURE);
}
+ if (clearenv() != 0) {
+ _exit(EXIT_FAILURE);
+ }
+
setenv("HOME", pwdent->pw_dir, 1);
execvp(args[0], args);
@@ -301,6 +305,11 @@ session_socket_handler (struct passwd * pwdent, int readypipe, const char * ruse
return EXIT_FAILURE;
}
+ if (clearenv() != 0) {
+ /* Don't need to clean up yet */
+ return EXIT_FAILURE;
+ }
+
/* Build this up as a buffer so we can just write it and see that
very, very clearly */
buffer_len += strlen(ruser) + 1; /* Add one for the space */