diff options
author | ache <ache@FreeBSD.org> | 2002-01-20 20:56:47 +0000 |
---|---|---|
committer | ache <ache@FreeBSD.org> | 2002-01-20 20:56:47 +0000 |
commit | b7343f3a64aa97cf9b1d01c289b742ad95c01528 (patch) | |
tree | 55bf533d22dc4ed2d51acaaa985f3a579b9d90c3 | |
parent | d2ae1bcaf9e2853cf0f9755a423748ba3790f272 (diff) | |
download | FreeBSD-src-b7343f3a64aa97cf9b1d01c289b742ad95c01528.zip FreeBSD-src-b7343f3a64aa97cf9b1d01c289b742ad95c01528.tar.gz |
snprintf bloat -> strlcpy
Add getpwnam return check
Approved by: des, markm
-rw-r--r-- | lib/libpam/modules/pam_opie/pam_opie.c | 5 |
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. |