diff options
-rw-r--r-- | crypto/openssh/pam_ssh/pam_ssh.c | 2 | ||||
-rw-r--r-- | lib/libpam/modules/pam_ssh/pam_ssh.c | 2 |
2 files changed, 4 insertions, 0 deletions
diff --git a/crypto/openssh/pam_ssh/pam_ssh.c b/crypto/openssh/pam_ssh/pam_ssh.c index 13e5c44..424496d 100644 --- a/crypto/openssh/pam_ssh/pam_ssh.c +++ b/crypto/openssh/pam_ssh/pam_ssh.c @@ -176,6 +176,8 @@ env_destroy(ENV *self) { struct env_entry *p; + if (self->e_committed) + env_swap(self, 0); env_swap(self, 0); SLIST_FOREACH(p, &self->e_head, ee_entries) { free(p->ee_env); diff --git a/lib/libpam/modules/pam_ssh/pam_ssh.c b/lib/libpam/modules/pam_ssh/pam_ssh.c index 13e5c44..424496d 100644 --- a/lib/libpam/modules/pam_ssh/pam_ssh.c +++ b/lib/libpam/modules/pam_ssh/pam_ssh.c @@ -176,6 +176,8 @@ env_destroy(ENV *self) { struct env_entry *p; + if (self->e_committed) + env_swap(self, 0); env_swap(self, 0); SLIST_FOREACH(p, &self->e_head, ee_entries) { free(p->ee_env); |