mirror of
https://github.com/EnderIce2/Fennix.git
synced 2025-05-28 15:34:31 +00:00
fix(userspace/libc): handle NULL input in getenv function
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
This commit is contained in:
parent
74ff9579f3
commit
c12ee67592
@ -76,11 +76,16 @@ export char *gcvt(double, int, char *);
|
|||||||
|
|
||||||
export char *getenv(const char *name)
|
export char *getenv(const char *name)
|
||||||
{
|
{
|
||||||
|
if (name == NULL)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
size_t len = strlen(name);
|
||||||
for (char **env = environ; *env != 0; ++env)
|
for (char **env = environ; *env != 0; ++env)
|
||||||
{
|
{
|
||||||
char *thisEnv = *env;
|
char *thisEnv = *env;
|
||||||
if (strncmp(thisEnv, name, strlen(name)) == 0 && thisEnv[strlen(name)] == '=')
|
char cmp = strncmp(thisEnv, name, len) == 0;
|
||||||
return thisEnv + strlen(name) + 1;
|
if (cmp && thisEnv[len] == '=')
|
||||||
|
return thisEnv + len + 1;
|
||||||
}
|
}
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user