aboutsummaryrefslogtreecommitdiff
path: root/lib/libpam
diff options
context:
space:
mode:
authorPedro F. Giffuni <pfg@FreeBSD.org>2017-03-12 17:41:51 +0000
committerPedro F. Giffuni <pfg@FreeBSD.org>2017-03-12 17:41:51 +0000
commit94a1344578b5cba4aba17dc38db0b619d51d2f1d (patch)
tree9e142bc30697e9bfa82d77f3191b75dcaf6d6c54 /lib/libpam
parentc44f58fce980948d8c37c822218a151ea64722a6 (diff)
downloadsrc-94a1344578b5cba4aba17dc38db0b619d51d2f1d.tar.gz
src-94a1344578b5cba4aba17dc38db0b619d51d2f1d.zip
Revert r314780
libpam: extra bounds checking through reallocarray(3). It appears to be causing brokenness when reporting PAM_* environment variables. This requires more investigation. Reported by: lstewart
Notes
Notes: svn path=/head/; revision=315164
Diffstat (limited to 'lib/libpam')
-rw-r--r--lib/libpam/modules/pam_exec/pam_exec.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/libpam/modules/pam_exec/pam_exec.c b/lib/libpam/modules/pam_exec/pam_exec.c
index 3cc1c33854cc..d43d181f31e5 100644
--- a/lib/libpam/modules/pam_exec/pam_exec.c
+++ b/lib/libpam/modules/pam_exec/pam_exec.c
@@ -138,7 +138,7 @@ _pam_exec(pam_handle_t *pamh __unused,
nitems = sizeof(env_items) / sizeof(*env_items);
/* Count PAM return values put in the environment. */
nitems_rv = options->return_prog_exit_status ? PAM_RV_COUNT : 0;
- tmp = reallocarray(envlist, envlen + nitems + 1 + nitems_rv + 1,
+ tmp = realloc(envlist, (envlen + nitems + 1 + nitems_rv + 1) *
sizeof(*envlist));
if (tmp == NULL) {
openpam_free_envlist(envlist);