summaryrefslogtreecommitdiff
path: root/libpam/pam_get_authtok.c
diff options
context:
space:
mode:
authorSam Hartman <hartmans@debian.org>2024-02-27 21:25:44 -0700
committerSam Hartman <hartmans@debian.org>2024-02-27 21:25:44 -0700
commit58c5a173ca608476917893e9054cf3d53d0b0744 (patch)
treec5d2ab69a993c150f48f705bff9d76c1139f1e33 /libpam/pam_get_authtok.c
parent80d000dd6637be445a9a0fd930de765cc40352da (diff)
parent56cd5768b32fd97a7156977dcbbd40715e158e9c (diff)
Merge in 1.5.3 from experimental
Diffstat (limited to 'libpam/pam_get_authtok.c')
-rw-r--r--libpam/pam_get_authtok.c17
1 files changed, 11 insertions, 6 deletions
diff --git a/libpam/pam_get_authtok.c b/libpam/pam_get_authtok.c
index 3fa7f7df..3f383339 100644
--- a/libpam/pam_get_authtok.c
+++ b/libpam/pam_get_authtok.c
@@ -33,6 +33,7 @@
#include "config.h"
#include "pam_private.h"
+#include "pam_inline.h"
#include <security/pam_ext.h>
@@ -174,6 +175,10 @@ pam_get_authtok_internal (pam_handle_t *pamh, int item,
(chpass > 1 && resp[1] == NULL))
{
/* We want to abort */
+ pam_overwrite_string (resp[0]);
+ _pam_drop (resp[0]);
+ pam_overwrite_string (resp[1]);
+ _pam_drop (resp[1]);
if (chpass)
pam_error (pamh, _("Password change has been aborted."));
return PAM_AUTHTOK_ERR;
@@ -182,18 +187,18 @@ pam_get_authtok_internal (pam_handle_t *pamh, int item,
if (chpass > 1 && strcmp (resp[0], resp[1]) != 0)
{
pam_error (pamh, MISTYPED_PASS);
- _pam_overwrite (resp[0]);
+ pam_overwrite_string (resp[0]);
_pam_drop (resp[0]);
- _pam_overwrite (resp[1]);
+ pam_overwrite_string (resp[1]);
_pam_drop (resp[1]);
return PAM_TRY_AGAIN;
}
- _pam_overwrite (resp[1]);
+ pam_overwrite_string (resp[1]);
_pam_drop (resp[1]);
retval = pam_set_item (pamh, item, resp[0]);
- _pam_overwrite (resp[0]);
+ pam_overwrite_string (resp[0]);
_pam_drop (resp[0]);
if (retval != PAM_SUCCESS)
return retval;
@@ -263,13 +268,13 @@ pam_get_authtok_verify (pam_handle_t *pamh, const char **authtok,
{
pam_set_item (pamh, PAM_AUTHTOK, NULL);
pam_error (pamh, MISTYPED_PASS);
- _pam_overwrite (resp);
+ pam_overwrite_string (resp);
_pam_drop (resp);
return PAM_TRY_AGAIN;
}
retval = pam_set_item (pamh, PAM_AUTHTOK, resp);
- _pam_overwrite (resp);
+ pam_overwrite_string (resp);
_pam_drop (resp);
if (retval != PAM_SUCCESS)
return retval;