From 94a1344578b5cba4aba17dc38db0b619d51d2f1d Mon Sep 17 00:00:00 2001 From: "Pedro F. Giffuni" Date: Sun, 12 Mar 2017 17:41:51 +0000 Subject: [PATCH] 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 --- lib/libpam/modules/pam_exec/pam_exec.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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);