summaryrefslogtreecommitdiffstats
path: root/sys/kern
diff options
context:
space:
mode:
authorimp <imp@FreeBSD.org>2013-04-16 22:09:08 +0000
committerimp <imp@FreeBSD.org>2013-04-16 22:09:08 +0000
commit761f4524d4ea4483a6ab5a48b3dca217d6c47f3a (patch)
tree30f2ac0f8cc343abb8ee9c598344aef07c22a1dd /sys/kern
parent6e01debb4650842ddd6e3274e013a2a568da9cff (diff)
downloadFreeBSD-src-761f4524d4ea4483a6ab5a48b3dca217d6c47f3a.zip
FreeBSD-src-761f4524d4ea4483a6ab5a48b3dca217d6c47f3a.tar.gz
r249408 and r249436 cause a NULL pointer dereference on the CUBIEBOARD
since it doesn't set the kernel envrionment at all. Work around this by making sure kern_envp is non-NULL before dereferencing it.
Diffstat (limited to 'sys/kern')
-rw-r--r--sys/kern/kern_environment.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/kern/kern_environment.c b/sys/kern/kern_environment.c
index 369c860..e89b3f7 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 (*kern_envp != '\0') {
+ if (kern_envp && *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) {
OpenPOWER on IntegriCloud