diff options
author | Andreas Schneider <asn@cryptomilk.org> | 2020-11-04 17:23:09 +0100 |
---|---|---|
committer | Tomáš Mráz <tmraz@redhat.com> | 2020-11-04 17:29:43 +0100 |
commit | 51318fd423a8ab4456a278ef0aff6ad449aab916 (patch) | |
tree | da9e03811be828df9ddf98817380aa8b26ae31d1 /libpam/pam_start.c | |
parent | 50ab1eda259ff039922b2774895f09bf0a57e078 (diff) | |
download | pam-51318fd423a8ab4456a278ef0aff6ad449aab916.tar.gz pam-51318fd423a8ab4456a278ef0aff6ad449aab916.tar.bz2 pam-51318fd423a8ab4456a278ef0aff6ad449aab916.zip |
libpam: Fix memory leak on error path in _pam_start_internal()
Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
Diffstat (limited to 'libpam/pam_start.c')
-rw-r--r-- | libpam/pam_start.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/libpam/pam_start.c b/libpam/pam_start.c index 59d06224..99dd0389 100644 --- a/libpam/pam_start.c +++ b/libpam/pam_start.c @@ -115,6 +115,7 @@ static int _pam_start_internal ( pam_syslog(*pamh, LOG_CRIT, "pam_start: malloc failed for pam_conv"); _pam_drop((*pamh)->service_name); _pam_drop((*pamh)->user); + _pam_drop((*pamh)->confdir); _pam_drop(*pamh); return (PAM_BUF_ERR); } else { @@ -128,6 +129,7 @@ static int _pam_start_internal ( _pam_drop((*pamh)->pam_conversation); _pam_drop((*pamh)->service_name); _pam_drop((*pamh)->user); + _pam_drop((*pamh)->confdir); _pam_drop(*pamh); return PAM_ABORT; } @@ -145,6 +147,7 @@ static int _pam_start_internal ( _pam_drop((*pamh)->pam_conversation); _pam_drop((*pamh)->service_name); _pam_drop((*pamh)->user); + _pam_drop((*pamh)->confdir); _pam_drop(*pamh); return PAM_ABORT; } |