summaryrefslogtreecommitdiffstats
path: root/sys/kern/kern_environment.c
diff options
context:
space:
mode:
authorphk <phk@FreeBSD.org>2006-03-09 09:29:41 +0000
committerphk <phk@FreeBSD.org>2006-03-09 09:29:41 +0000
commitb7db2706e8c2834f08ee9c367106da80a261eeb4 (patch)
tree6038a90596db091c98c7c6d911f0f74da2507dac /sys/kern/kern_environment.c
parent2ba86f7da2738cd4764014a50f4e8e0af1642455 (diff)
downloadFreeBSD-src-b7db2706e8c2834f08ee9c367106da80a261eeb4.zip
FreeBSD-src-b7db2706e8c2834f08ee9c367106da80a261eeb4.tar.gz
Ignore kenv strings which overflow the room we have, rather than pretend
we have room for them.
Diffstat (limited to 'sys/kern/kern_environment.c')
-rw-r--r--sys/kern/kern_environment.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/sys/kern/kern_environment.c b/sys/kern/kern_environment.c
index 9bb8814..c15e58d 100644
--- a/sys/kern/kern_environment.c
+++ b/sys/kern/kern_environment.c
@@ -211,7 +211,12 @@ init_dynamic_kenv(void *data __unused)
for (cp = kern_envp; cp != NULL; cp = kernenv_next(cp)) {
len = strlen(cp) + 1;
kenvp[i] = malloc(len, M_KENV, M_WAITOK);
- strcpy(kenvp[i++], cp);
+ if (i < KENV_SIZE)
+ strcpy(kenvp[i++], cp);
+ else
+ printf(
+ "WARNING: too many kenv strings, ignoring %s\n",
+ cp);
}
kenvp[i] = NULL;
OpenPOWER on IntegriCloud