Follow up r352244: kenv: tighten up assertions
As I like to forget: static kenv var formatting is actually such that an empty environment would be double null bytes. We should make sure that a non-zero buffer has at least enough for this, though most of the current usage is with a 4k buffer.
This commit is contained in:
parent
436c46875d
commit
5163b1a75c
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=352245
@ -250,7 +250,15 @@ init_static_kenv(char *buf, size_t len)
|
|||||||
char *eval;
|
char *eval;
|
||||||
|
|
||||||
KASSERT(!dynamic_kenv, ("kenv: dynamic_kenv already initialized"));
|
KASSERT(!dynamic_kenv, ("kenv: dynamic_kenv already initialized"));
|
||||||
KASSERT(len == 0 || *buf == '\0',
|
/*
|
||||||
|
* Suitably sized means it must be able to hold at least one empty
|
||||||
|
* variable, otherwise things go belly up if a kern_getenv call is
|
||||||
|
* made without a prior call to kern_setenv as we have a malformed
|
||||||
|
* environment.
|
||||||
|
*/
|
||||||
|
KASSERT(len == 0 || len >= 2,
|
||||||
|
("kenv: static env must be initialized or suitably sized"));
|
||||||
|
KASSERT(len == 0 || (*buf == '\0' && *(buf + 1) == '\0'),
|
||||||
("kenv: sized buffer must be initially empty"));
|
("kenv: sized buffer must be initially empty"));
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
Loading…
Reference in New Issue
Block a user