diff options
author | Thorsten Kukuk <kukuk@thkukuk.de> | 2005-09-01 19:21:19 +0000 |
---|---|---|
committer | Thorsten Kukuk <kukuk@thkukuk.de> | 2005-09-01 19:21:19 +0000 |
commit | a4f79c12525ff134ef9bcd141f7b5223e9772b9b (patch) | |
tree | d9979b0ce8bffc1b8804f8e4e8f5a63845da2889 /libpam | |
parent | 3a265f6249e17882cf0195dd1fe7abb94cd3160f (diff) | |
download | pam-a4f79c12525ff134ef9bcd141f7b5223e9772b9b.tar.gz pam-a4f79c12525ff134ef9bcd141f7b5223e9772b9b.tar.bz2 pam-a4f79c12525ff134ef9bcd141f7b5223e9772b9b.zip |
Relevant BUGIDs: none
Purpose of commit: bugfix
Commit summary:
---------------
Fix memory leak in pam_vprompt and adjust printf attribute. Patch
from Dmitry V. Levin.
Diffstat (limited to 'libpam')
-rw-r--r-- | libpam/include/security/pam_ext.h | 2 | ||||
-rw-r--r-- | libpam/pam_vprompt.c | 3 |
2 files changed, 3 insertions, 2 deletions
diff --git a/libpam/include/security/pam_ext.h b/libpam/include/security/pam_ext.h index 1434eb29..b461f2d0 100644 --- a/libpam/include/security/pam_ext.h +++ b/libpam/include/security/pam_ext.h @@ -41,7 +41,7 @@ extern int PAM_FORMAT((printf, 4, 0)) PAM_NONNULL((4)) pam_vprompt (pam_handle_t *pamh, int style, char **response, const char *fmt, va_list args); -extern int PAM_FORMAT((printf, 4, 0)) PAM_NONNULL((4)) +extern int PAM_FORMAT((printf, 4, 5)) PAM_NONNULL((4)) pam_prompt (pam_handle_t *pamh, int style, char **response, const char *fmt, ...); diff --git a/libpam/pam_vprompt.c b/libpam/pam_vprompt.c index e680ceb7..0239c8f4 100644 --- a/libpam/pam_vprompt.c +++ b/libpam/pam_vprompt.c @@ -84,6 +84,7 @@ pam_vprompt (pam_handle_t *pamh, int style, char **response, if (response) *response = pam_resp == NULL ? NULL : pam_resp->resp; _pam_overwrite (msgbuf); + _pam_drop (pam_resp); free (msgbuf); if (retval != PAM_SUCCESS) _pam_system_log (LOG_ERR, "conversation failed"); @@ -91,7 +92,7 @@ pam_vprompt (pam_handle_t *pamh, int style, char **response, return retval; } -int PAM_FORMAT((printf, 4, 0)) PAM_NONNULL((4)) +int PAM_FORMAT((printf, 4, 5)) PAM_NONNULL((4)) pam_prompt (pam_handle_t *pamh, int style, char **response, const char *fmt, ...) { |