Module Name: src
Committed By: christos
Date: Thu Feb 3 02:06:00 UTC 2011
Modified Files:
src/lib/libpam/modules/pam_exec: pam_exec.c
Log Message:
PR/44505: Mark Davies: pam_exec fails to realloc enough space, while
there add a volatile variable (From FreeBSD)
To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 src/lib/libpam/modules/pam_exec/pam_exec.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/lib/libpam/modules/pam_exec/pam_exec.c
diff -u src/lib/libpam/modules/pam_exec/pam_exec.c:1.4 src/lib/libpam/modules/pam_exec/pam_exec.c:1.5
--- src/lib/libpam/modules/pam_exec/pam_exec.c:1.4 Sat Feb 26 17:45:52 2005
+++ src/lib/libpam/modules/pam_exec/pam_exec.c Wed Feb 2 21:05:59 2011
@@ -1,4 +1,4 @@
-/* $NetBSD: pam_exec.c,v 1.4 2005/02/26 22:45:52 christos Exp $ */
+/* $NetBSD: pam_exec.c,v 1.5 2011/02/03 02:05:59 christos Exp $ */
/*-
* Copyright (c) 2001,2003 Networks Associates Technology, Inc.
@@ -38,7 +38,7 @@
#ifdef __FreeBSD__
__FBSDID("$FreeBSD: src/lib/libpam/modules/pam_exec/pam_exec.c,v 1.4 2005/02/01 10:37:07 des Exp $");
#else
-__RCSID("$NetBSD: pam_exec.c,v 1.4 2005/02/26 22:45:52 christos Exp $");
+__RCSID("$NetBSD: pam_exec.c,v 1.5 2011/02/03 02:05:59 christos Exp $");
#endif
#include <sys/types.h>
@@ -70,8 +70,9 @@
_pam_exec(pam_handle_t *pamh __unused, int flags __unused,
int argc, const char *argv[])
{
- int childerr, envlen, i, nitems, pam_err, status;
+ int envlen, i, nitems, pam_err, status;
char **envlist, **tmp;
+ volatile int childerr;
pid_t pid;
if (argc < 1)
@@ -90,7 +91,7 @@
for (envlen = 0; envlist[envlen] != NULL; ++envlen)
/* nothing */ ;
nitems = sizeof(env_items) / sizeof(*env_items);
- tmp = realloc(envlist, (envlen + nitems + 1) * sizeof **envlist);
+ tmp = realloc(envlist, (envlen + nitems + 1) * sizeof(*envlist));
if (tmp == NULL) {
openpam_free_envlist(envlist);
return (PAM_BUF_ERR);