From f46206c270ec8edd90639a8de864ec2acba3d442 Mon Sep 17 00:00:00 2001 From: "Jayachandran C." Date: Sat, 13 Apr 2013 07:23:37 +0000 Subject: [PATCH] Fix changes made in r249408. In some cases, kern_envp is set by the architecture code and env_pos does not contain the length of the static kernel environment. In these cases r249408 causes the kernel to discard the environment. Fix this by updating the check for empty static env to *kern_envp != '\0' Reported by: np@ --- sys/kern/kern_environment.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/kern/kern_environment.c b/sys/kern/kern_environment.c index 3b04cb72ee92..369c8606206d 100644 --- a/sys/kern/kern_environment.c +++ b/sys/kern/kern_environment.c @@ -231,7 +231,7 @@ init_dynamic_kenv(void *data __unused) kenvp = malloc((KENV_SIZE + 1) * sizeof(char *), M_KENV, M_WAITOK | M_ZERO); i = 0; - if (env_pos > 0) { + if (*kern_envp != '\0') { for (cp = kern_envp; cp != NULL; cp = kernenv_next(cp)) { len = strlen(cp) + 1; if (len > KENV_MNAMELEN + 1 + KENV_MVALLEN + 1) {