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 | |
| parent | d0388cff8b393e8b35202d027307a785afa73774 (diff) | |
check for pwd != in getpw*_r functions.
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/libpam/modules/pam_chroot/pam_chroot.c | 7 | ||||
| -rw-r--r-- | lib/libpam/modules/pam_ftpusers/pam_ftpusers.c | 7 | ||||
| -rw-r--r-- | lib/libpam/modules/pam_group/pam_group.c | 7 | ||||
| -rw-r--r-- | lib/libpam/modules/pam_krb5/pam_krb5.c | 7 | ||||
| -rw-r--r-- | lib/libpam/modules/pam_lastlog/pam_lastlog.c | 7 | ||||
| -rw-r--r-- | lib/libpam/modules/pam_nologin/pam_nologin.c | 7 | ||||
| -rw-r--r-- | lib/libpam/modules/pam_radius/pam_radius.c | 7 | ||||
| -rw-r--r-- | lib/libpam/modules/pam_rhosts/pam_rhosts.c | 11 | ||||
| -rw-r--r-- | lib/libpam/modules/pam_securetty/pam_securetty.c | 7 | ||||
| -rw-r--r-- | lib/libpam/modules/pam_self/pam_self.c | 7 | ||||
| -rw-r--r-- | lib/libpam/modules/pam_ssh/pam_ssh.c | 10 | ||||
| -rw-r--r-- | lib/libpam/modules/pam_unix/pam_unix.c | 7 |
12 files changed, 52 insertions, 39 deletions
diff --git a/lib/libpam/modules/pam_chroot/pam_chroot.c b/lib/libpam/modules/pam_chroot/pam_chroot.c index 98b0ffa22d2..8936c907103 100644 --- a/lib/libpam/modules/pam_chroot/pam_chroot.c +++ b/lib/libpam/modules/pam_chroot/pam_chroot.c @@ -1,4 +1,4 @@ -/* $NetBSD: pam_chroot.c,v 1.3 2005/03/31 15:11:54 thorpej Exp $ */ +/* $NetBSD: pam_chroot.c,v 1.4 2005/04/19 03:15:34 christos Exp $ */ /*- * Copyright (c) 2003 Networks Associates Technology, Inc. @@ -38,7 +38,7 @@ #ifdef __FreeBSD__ __FBSDID("$FreeBSD: src/lib/libpam/modules/pam_chroot/pam_chroot.c,v 1.3 2003/04/30 00:40:24 des Exp $"); #else -__RCSID("$NetBSD: pam_chroot.c,v 1.3 2005/03/31 15:11:54 thorpej Exp $"); +__RCSID("$NetBSD: pam_chroot.c,v 1.4 2005/04/19 03:15:34 christos Exp $"); #endif #include <sys/param.h> @@ -65,7 +65,8 @@ pam_sm_open_session(pam_handle_t *pamh, int flags __unused, if (pam_get_user(pamh, &user, NULL) != PAM_SUCCESS || user == NULL || - getpwnam_r(user, &pwres, pwbuf, sizeof(pwbuf), &pwd) != 0) + getpwnam_r(user, &pwres, pwbuf, sizeof(pwbuf), &pwd) != 0 || + pwd == NULL) return (PAM_SESSION_ERR); if (pwd->pw_uid == 0 && !openpam_get_option(pamh, "also_root")) return (PAM_SUCCESS); diff --git a/lib/libpam/modules/pam_ftpusers/pam_ftpusers.c b/lib/libpam/modules/pam_ftpusers/pam_ftpusers.c index 6605d7e6018..72349a72b11 100644 --- a/lib/libpam/modules/pam_ftpusers/pam_ftpusers.c +++ b/lib/libpam/modules/pam_ftpusers/pam_ftpusers.c @@ -1,4 +1,4 @@ -/* $NetBSD: pam_ftpusers.c,v 1.3 2005/03/31 15:11:54 thorpej Exp $ */ +/* $NetBSD: pam_ftpusers.c,v 1.4 2005/04/19 03:15:34 christos Exp $ */ /*- * Copyright (c) 2001 Networks Associates Technology, Inc. @@ -38,7 +38,7 @@ #ifdef __FreeBSD__ __FBSDID("$FreeBSD: src/lib/libpam/modules/pam_ftpusers/pam_ftpusers.c,v 1.1 2002/05/08 00:30:10 des Exp $"); #else -__RCSID("$NetBSD: pam_ftpusers.c,v 1.3 2005/03/31 15:11:54 thorpej Exp $"); +__RCSID("$NetBSD: pam_ftpusers.c,v 1.4 2005/04/19 03:15:34 christos Exp $"); #endif #include <ctype.h> @@ -73,7 +73,8 @@ pam_sm_acct_mgmt(pam_handle_t *pamh, int flags __unused, if (pam_err != PAM_SUCCESS) return (pam_err); if (user == NULL || - getpwnam_r(user, &pwres, pwbuf, sizeof(pwbuf), &pwd) != 0) + getpwnam_r(user, &pwres, pwbuf, sizeof(pwbuf), &pwd) != 0 || + pwd == NULL) return (PAM_SERVICE_ERR); found = 0; diff --git a/lib/libpam/modules/pam_group/pam_group.c b/lib/libpam/modules/pam_group/pam_group.c index 5caecaba61b..d2f1acf04f1 100644 --- a/lib/libpam/modules/pam_group/pam_group.c +++ b/lib/libpam/modules/pam_group/pam_group.c @@ -1,4 +1,4 @@ -/* $NetBSD: pam_group.c,v 1.7 2005/04/05 18:24:17 christos Exp $ */ +/* $NetBSD: pam_group.c,v 1.8 2005/04/19 03:15:35 christos Exp $ */ /*- * Copyright (c) 2003 Networks Associates Technology, Inc. @@ -38,7 +38,7 @@ #ifdef __FreeBSD__ __FBSDID("$FreeBSD: src/lib/libpam/modules/pam_group/pam_group.c,v 1.4 2003/12/11 13:55:15 des Exp $"); #else -__RCSID("$NetBSD: pam_group.c,v 1.7 2005/04/05 18:24:17 christos Exp $"); +__RCSID("$NetBSD: pam_group.c,v 1.8 2005/04/19 03:15:35 christos Exp $"); #endif #include <sys/types.h> @@ -78,7 +78,8 @@ pam_sm_authenticate(pam_handle_t *pamh, int flags __unused, /* get target account */ if (pam_get_user(pamh, &user, NULL) != PAM_SUCCESS || user == NULL || - getpwnam_r(user, &pwres, pwbuf, sizeof(pwbuf), &pwd) != 0) + getpwnam_r(user, &pwres, pwbuf, sizeof(pwbuf), &pwd) != 0 || + pwd == NULL) return (PAM_AUTH_ERR); if (pwd->pw_uid != 0 && openpam_get_option(pamh, "root_only")) return (PAM_IGNORE); diff --git a/lib/libpam/modules/pam_krb5/pam_krb5.c b/lib/libpam/modules/pam_krb5/pam_krb5.c index 744ac80f757..5566c3b8b0f 100644 --- a/lib/libpam/modules/pam_krb5/pam_krb5.c +++ b/lib/libpam/modules/pam_krb5/pam_krb5.c @@ -1,4 +1,4 @@ -/* $NetBSD: pam_krb5.c,v 1.7 2005/03/31 15:11:54 thorpej Exp $ */ +/* $NetBSD: pam_krb5.c,v 1.8 2005/04/19 03:15:35 christos Exp $ */ /*- * This pam_krb5 module contains code that is: @@ -53,7 +53,7 @@ #ifdef __FreeBSD__ __FBSDID("$FreeBSD: src/lib/libpam/modules/pam_krb5/pam_krb5.c,v 1.22 2005/01/24 16:49:50 rwatson Exp $"); #else -__RCSID("$NetBSD: pam_krb5.c,v 1.7 2005/03/31 15:11:54 thorpej Exp $"); +__RCSID("$NetBSD: pam_krb5.c,v 1.8 2005/04/19 03:15:35 christos Exp $"); #endif #include <sys/types.h> @@ -224,7 +224,8 @@ pam_sm_authenticate(pam_handle_t *pamh, int flags __unused, PAM_LOG("PAM_USER Redone"); } - if (getpwnam_r(user, &pwres, pwbuf, sizeof(pwbuf), &pwd) != 0) { + if (getpwnam_r(user, &pwres, pwbuf, sizeof(pwbuf), &pwd) != 0 || + pwd == NULL) { retval = PAM_USER_UNKNOWN; goto cleanup2; } diff --git a/lib/libpam/modules/pam_lastlog/pam_lastlog.c b/lib/libpam/modules/pam_lastlog/pam_lastlog.c index a10075d8828..8005e17d799 100644 --- a/lib/libpam/modules/pam_lastlog/pam_lastlog.c +++ b/lib/libpam/modules/pam_lastlog/pam_lastlog.c @@ -1,4 +1,4 @@ -/* $NetBSD: pam_lastlog.c,v 1.7 2005/03/31 15:11:54 thorpej Exp $ */ +/* $NetBSD: pam_lastlog.c,v 1.8 2005/04/19 03:15:35 christos Exp $ */ /*- * Copyright (c) 1980, 1987, 1988, 1991, 1993, 1994 @@ -47,7 +47,7 @@ #ifdef __FreeBSD__ __FBSDID("$FreeBSD: src/lib/libpam/modules/pam_lastlog/pam_lastlog.c,v 1.20 2004/01/26 19:28:37 des Exp $"); #else -__RCSID("$NetBSD: pam_lastlog.c,v 1.7 2005/03/31 15:11:54 thorpej Exp $"); +__RCSID("$NetBSD: pam_lastlog.c,v 1.8 2005/04/19 03:15:35 christos Exp $"); #endif #include <sys/param.h> @@ -110,7 +110,8 @@ pam_sm_open_session(pam_handle_t *pamh, int flags, return pam_err; if (user == NULL || - getpwnam_r(user, &pwres, pwbuf, sizeof(pwbuf), &pwd) != 0) + getpwnam_r(user, &pwres, pwbuf, sizeof(pwbuf), &pwd) != 0 || + pwd == NULL) return PAM_SERVICE_ERR; PAM_LOG("Got user: %s", user); diff --git a/lib/libpam/modules/pam_nologin/pam_nologin.c b/lib/libpam/modules/pam_nologin/pam_nologin.c index c1f159a65e7..4d47bc13b36 100644 --- a/lib/libpam/modules/pam_nologin/pam_nologin.c +++ b/lib/libpam/modules/pam_nologin/pam_nologin.c @@ -1,4 +1,4 @@ -/* $NetBSD: pam_nologin.c,v 1.4 2005/03/31 15:11:54 thorpej Exp $ */ +/* $NetBSD: pam_nologin.c,v 1.5 2005/04/19 03:15:35 christos Exp $ */ /*- * Copyright 2001 Mark R V Murray @@ -40,7 +40,7 @@ #ifdef __FreeBSD__ __FBSDID("$FreeBSD: src/lib/libpam/modules/pam_nologin/pam_nologin.c,v 1.10 2002/04/12 22:27:21 des Exp $"); #else -__RCSID("$NetBSD: pam_nologin.c,v 1.4 2005/03/31 15:11:54 thorpej Exp $"); +__RCSID("$NetBSD: pam_nologin.c,v 1.5 2005/04/19 03:15:35 christos Exp $"); #endif @@ -92,7 +92,8 @@ pam_sm_authenticate(pam_handle_t *pamh, int flags __unused, * Do not allow login of unexisting users, so that a directory * failure will not cause the nologin capability to be ignored. */ - 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; } else { if (pwd->pw_uid == 0) diff --git a/lib/libpam/modules/pam_radius/pam_radius.c b/lib/libpam/modules/pam_radius/pam_radius.c index f417df758f3..a3158d2d5f0 100644 --- a/lib/libpam/modules/pam_radius/pam_radius.c +++ b/lib/libpam/modules/pam_radius/pam_radius.c @@ -1,4 +1,4 @@ -/* $NetBSD: pam_radius.c,v 1.3 2005/03/31 15:11:54 thorpej Exp $ */ +/* $NetBSD: pam_radius.c,v 1.4 2005/04/19 03:15:35 christos Exp $ */ /*- * Copyright 1998 Juniper Networks, Inc. @@ -40,7 +40,7 @@ #ifdef __FreeBSD__ __FBSDID("$FreeBSD: src/lib/libpam/modules/pam_radius/pam_radius.c,v 1.22 2004/06/25 12:32:45 kan Exp $"); #else -__RCSID("$NetBSD: pam_radius.c,v 1.3 2005/03/31 15:11:54 thorpej Exp $"); +__RCSID("$NetBSD: pam_radius.c,v 1.4 2005/04/19 03:15:35 christos Exp $"); #endif #include <sys/param.h> @@ -323,7 +323,8 @@ pam_sm_authenticate(pam_handle_t *pamh, int flags __unused, if (retval != PAM_SUCCESS) return (retval); if (getpwnam_r(tmpuser, &pwres, pwbuf, - sizeof(pwbuf), &pwd) != 0) { + sizeof(pwbuf), &pwd) != 0 || + pwd == NULL) { pam_set_item(pamh, PAM_USER, template_user); PAM_LOG("Using template user"); diff --git a/lib/libpam/modules/pam_rhosts/pam_rhosts.c b/lib/libpam/modules/pam_rhosts/pam_rhosts.c index f4a580025c5..8a032f70bd0 100644 --- a/lib/libpam/modules/pam_rhosts/pam_rhosts.c +++ b/lib/libpam/modules/pam_rhosts/pam_rhosts.c @@ -1,4 +1,4 @@ -/* $NetBSD: pam_rhosts.c,v 1.3 2005/03/31 15:11:54 thorpej Exp $ */ +/* $NetBSD: pam_rhosts.c,v 1.4 2005/04/19 03:15:36 christos Exp $ */ /*- * Copyright (c) 2002 Danny Braniss @@ -40,7 +40,7 @@ #ifdef __FreeBSD__ __FBSDID("$FreeBSD: src/lib/libpam/modules/pam_rhosts/pam_rhosts.c,v 1.3 2003/12/11 13:55:16 des Exp $"); #else -__RCSID("$NetBSD: pam_rhosts.c,v 1.3 2005/03/31 15:11:54 thorpej Exp $"); +__RCSID("$NetBSD: pam_rhosts.c,v 1.4 2005/04/19 03:15:36 christos Exp $"); #endif #include <pwd.h> @@ -59,7 +59,7 @@ PAM_EXTERN int pam_sm_authenticate(pam_handle_t *pamh, int flags __unused, int argc __unused, const char *argv[] __unused) { - struct passwd *pw, pwres; + struct passwd *pwd, pwres; const char *user; const void *ruser, *rhost; int err, superuser; @@ -69,9 +69,10 @@ pam_sm_authenticate(pam_handle_t *pamh, int flags __unused, if (err != PAM_SUCCESS) return (err); - if (getpwnam_r(user, &pwres, pwbuf, sizeof(pwbuf), &pw) != 0) + if (getpwnam_r(user, &pwres, pwbuf, sizeof(pwbuf), &pwd) != 0 || + pwd == NULL) return (PAM_USER_UNKNOWN); - if (pw->pw_uid == 0 && + if (pwd->pw_uid == 0 && openpam_get_option(pamh, OPT_ALLOW_ROOT) == NULL) return (PAM_AUTH_ERR); diff --git a/lib/libpam/modules/pam_securetty/pam_securetty.c b/lib/libpam/modules/pam_securetty/pam_securetty.c index 38c09014888..b052ba0d49a 100644 --- a/lib/libpam/modules/pam_securetty/pam_securetty.c +++ b/lib/libpam/modules/pam_securetty/pam_securetty.c @@ -1,4 +1,4 @@ -/* $NetBSD: pam_securetty.c,v 1.3 2005/03/31 15:11:54 thorpej Exp $ */ +/* $NetBSD: pam_securetty.c,v 1.4 2005/04/19 03:15:36 christos Exp $ */ /*- * Copyright (c) 2001 Mark R V Murray @@ -40,7 +40,7 @@ #ifdef __FreeBSD__ __FBSDID("$FreeBSD: src/lib/libpam/modules/pam_securetty/pam_securetty.c,v 1.13 2004/02/10 10:13:21 des Exp $"); #else -__RCSID("$NetBSD: pam_securetty.c,v 1.3 2005/03/31 15:11:54 thorpej Exp $"); +__RCSID("$NetBSD: pam_securetty.c,v 1.4 2005/04/19 03:15:36 christos Exp $"); #endif #include <sys/types.h> @@ -72,7 +72,8 @@ pam_sm_acct_mgmt(pam_handle_t *pamh __unused, int flags __unused, if (pam_err != PAM_SUCCESS) return (pam_err); if (user == NULL || - getpwnam_r(user, &pwres, pwbuf, sizeof(pwbuf), &pwd) != 0) + getpwnam_r(user, &pwres, pwbuf, sizeof(pwbuf), &pwd) != 0 || + pwd == NULL) return (PAM_SERVICE_ERR); PAM_LOG("Got user: %s", user); diff --git a/lib/libpam/modules/pam_self/pam_self.c b/lib/libpam/modules/pam_self/pam_self.c index dc40e0e8d7e..4d8dd0fe187 100644 --- a/lib/libpam/modules/pam_self/pam_self.c +++ b/lib/libpam/modules/pam_self/pam_self.c @@ -1,4 +1,4 @@ -/* $NetBSD: pam_self.c,v 1.3 2005/03/31 15:11:54 thorpej Exp $ */ +/* $NetBSD: pam_self.c,v 1.4 2005/04/19 03:15:36 christos Exp $ */ /*- * Copyright (c) 2001 Mark R V Murray @@ -40,7 +40,7 @@ #ifdef __FreeBSD__ __FBSDID("$FreeBSD: src/lib/libpam/modules/pam_self/pam_self.c,v 1.9 2002/04/12 22:27:24 des Exp $"); #else -__RCSID("$NetBSD: pam_self.c,v 1.3 2005/03/31 15:11:54 thorpej Exp $"); +__RCSID("$NetBSD: pam_self.c,v 1.4 2005/04/19 03:15:36 christos Exp $"); #endif #define _BSD_SOURCE @@ -71,7 +71,8 @@ pam_sm_authenticate(pam_handle_t *pamh, int flags __unused, if (pam_err != PAM_SUCCESS) return (pam_err); if (luser == NULL || - getpwnam_r(luser, &pwres, pwbuf, sizeof(pwbuf), &pwd) != 0) + getpwnam_r(luser, &pwres, pwbuf, sizeof(pwbuf), &pwd) != 0 || + pwd == NULL) return (PAM_AUTH_ERR); uid = getuid(); 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 */ diff --git a/lib/libpam/modules/pam_unix/pam_unix.c b/lib/libpam/modules/pam_unix/pam_unix.c index 24dc6d27c7b..04b4479b151 100644 --- a/lib/libpam/modules/pam_unix/pam_unix.c +++ b/lib/libpam/modules/pam_unix/pam_unix.c @@ -1,4 +1,4 @@ -/* $NetBSD: pam_unix.c,v 1.7 2005/03/31 15:11:54 thorpej Exp $ */ +/* $NetBSD: pam_unix.c,v 1.8 2005/04/19 03:15:37 christos Exp $ */ /*- * Copyright 1998 Juniper Networks, Inc. @@ -40,7 +40,7 @@ #ifdef __FreeBSD__ __FBSDID("$FreeBSD: src/lib/libpam/modules/pam_unix/pam_unix.c,v 1.49 2004/02/10 10:13:21 des Exp $"); #else -__RCSID("$NetBSD: pam_unix.c,v 1.7 2005/03/31 15:11:54 thorpej Exp $"); +__RCSID("$NetBSD: pam_unix.c,v 1.8 2005/04/19 03:15:37 christos Exp $"); #endif @@ -158,7 +158,8 @@ pam_sm_acct_mgmt(pam_handle_t *pamh, int flags __unused, return (retval); if (user == NULL || - getpwnam_r(user, &pwres, pwbuf, sizeof(pwbuf), &pwd) != 0) + getpwnam_r(user, &pwres, pwbuf, sizeof(pwbuf), &pwd) != 0 || + pwd == NULL) return (PAM_SERVICE_ERR); PAM_LOG("Got user: %s", user); |
