diff options
| author | christos <christos@NetBSD.org> | 2005-04-19 03:15:34 +0000 |
|---|---|---|
| committer | christos <christos@NetBSD.org> | 2005-04-19 03:15:34 +0000 |
| commit | 2a62e4e1adf2bbce8892ea76bdc1ba4d0103e8ab (patch) | |
| tree | 6a10b58ad30902fd51bbd98d8d57f8b9cb74f940 /lib/libpam/modules/pam_ssh | |
| parent | d0388cff8b393e8b35202d027307a785afa73774 (diff) | |
check for pwd != in getpw*_r functions.
Diffstat (limited to 'lib/libpam/modules/pam_ssh')
| -rw-r--r-- | lib/libpam/modules/pam_ssh/pam_ssh.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/lib/libpam/modules/pam_ssh/pam_ssh.c b/lib/libpam/modules/pam_ssh/pam_ssh.c index a4cba82bea9..37f2b5f1730 100644 --- a/lib/libpam/modules/pam_ssh/pam_ssh.c +++ b/lib/libpam/modules/pam_ssh/pam_ssh.c @@ -1,4 +1,4 @@ -/* $NetBSD: pam_ssh.c,v 1.10 2005/03/31 15:11:54 thorpej Exp $ */ +/* $NetBSD: pam_ssh.c,v 1.11 2005/04/19 03:15:36 christos Exp $ */ /*- * Copyright (c) 2003 Networks Associates Technology, Inc. @@ -38,7 +38,7 @@ #ifdef __FreeBSD__ __FBSDID("$FreeBSD: src/lib/libpam/modules/pam_ssh/pam_ssh.c,v 1.40 2004/02/10 10:13:21 des Exp $"); #else -__RCSID("$NetBSD: pam_ssh.c,v 1.10 2005/03/31 15:11:54 thorpej Exp $"); +__RCSID("$NetBSD: pam_ssh.c,v 1.11 2005/04/19 03:15:36 christos Exp $"); #endif #include <sys/param.h> @@ -153,7 +153,8 @@ pam_sm_authenticate(pam_handle_t *pamh, int flags __unused, pam_err = pam_get_user(pamh, &user, NULL); if (pam_err != PAM_SUCCESS) return (pam_err); - if (getpwnam_r(user, &pwres, pwbuf, sizeof(pwbuf), &pwd) != 0) + if (getpwnam_r(user, &pwres, pwbuf, sizeof(pwbuf), &pwd) != 0 || + pwd == NULL) return (PAM_USER_UNKNOWN); if (pwd->pw_dir == NULL) return (PAM_AUTH_ERR); @@ -414,7 +415,8 @@ pam_sm_open_session(pam_handle_t *pamh, int flags __unused, pam_err = pam_get_user(pamh, &user, NULL); if (pam_err != PAM_SUCCESS) return (pam_err); - if (getpwnam_r(user, &pwres, pwbuf, sizeof(pwbuf), &pwd) != 0) + if (getpwnam_r(user, &pwres, pwbuf, sizeof(pwbuf), &pwd) != 0 || + pwd == NULL) return (PAM_USER_UNKNOWN); /* start the agent */ |
