summaryrefslogtreecommitdiffstats
path: root/lib/libpam
diff options
context:
space:
mode:
authorache <ache@FreeBSD.org>2002-01-20 20:56:47 +0000
committerache <ache@FreeBSD.org>2002-01-20 20:56:47 +0000
commitb7343f3a64aa97cf9b1d01c289b742ad95c01528 (patch)
tree55bf533d22dc4ed2d51acaaa985f3a579b9d90c3 /lib/libpam
parentd2ae1bcaf9e2853cf0f9755a423748ba3790f272 (diff)
downloadFreeBSD-src-b7343f3a64aa97cf9b1d01c289b742ad95c01528.zip
FreeBSD-src-b7343f3a64aa97cf9b1d01c289b742ad95c01528.tar.gz
snprintf bloat -> strlcpy
Add getpwnam return check Approved by: des, markm
Diffstat (limited to 'lib/libpam')
-rw-r--r--lib/libpam/modules/pam_opie/pam_opie.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/libpam/modules/pam_opie/pam_opie.c b/lib/libpam/modules/pam_opie/pam_opie.c
index 52dd07f..5a2bd30 100644
--- a/lib/libpam/modules/pam_opie/pam_opie.c
+++ b/lib/libpam/modules/pam_opie/pam_opie.c
@@ -89,7 +89,8 @@ pam_sm_authenticate(pam_handle_t *pamh, int flags, int argc, const char **argv)
user = NULL;
if (pam_test_option(&options, PAM_OPT_AUTH_AS_SELF, NULL)) {
- pwd = getpwnam(getlogin());
+ if ((pwd = getpwnam(getlogin())) == NULL)
+ PAM_RETURN(PAM_AUTH_ERR);
user = pwd->pw_name;
}
else {
@@ -125,7 +126,7 @@ pam_sm_authenticate(pam_handle_t *pamh, int flags, int argc, const char **argv)
}
/* We have to copy the response, because opieverify mucks with it. */
- snprintf(resp, sizeof resp, "%s", response);
+ strlcpy(resp, response, sizeof (resp));
/*
* Opieverify is supposed to return -1 only if an error occurs.
OpenPOWER on IntegriCloud