]> granicus.if.org Git - linux-pam/commitdiff
Relevant BUGIDs: none
authorThorsten Kukuk <kukuk@thkukuk.de>
Thu, 1 Sep 2005 19:21:19 +0000 (19:21 +0000)
committerThorsten Kukuk <kukuk@thkukuk.de>
Thu, 1 Sep 2005 19:21:19 +0000 (19:21 +0000)
Purpose of commit: bugfix

Commit summary:
---------------

Fix memory leak in pam_vprompt and adjust printf attribute. Patch
from Dmitry V. Levin.

libpam/include/security/pam_ext.h
libpam/pam_vprompt.c

index 1434eb29a9f9e24f2e0885dcd33c493134e5d3be..b461f2d0f0165e6d8ae71320818bbbf48220158e 100644 (file)
@@ -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, ...);
 
index e680ceb76774e21843ad6f149876f2334efb06cb..0239c8f474fbe7757950bc956eb8303085146d66 100644 (file)
@@ -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, ...)
 {