mirror of
https://git.FreeBSD.org/src.git
synced 2025-01-02 12:20:51 +00:00
Change the behavior of setenv(), putenv() and unsetenv() to continue parsing
instead of returning an error if a corrupt (not a "name=value" string) entry in the environ array is detected when (re)-building the internal environment. This should prevent applications or libraries from experiencing issues arising from the expectation that these calls will complete even with corrupt entries. The behavior is now as it was prior to 7.0. Reviewed by: jilles MFC after: 1 week
This commit is contained in:
parent
6da7f71cd4
commit
ca7520fe57
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=200191
@ -361,8 +361,7 @@ __build_env(void)
|
||||
} else {
|
||||
__env_warnx(CorruptEnvValueMsg, envVars[envNdx].name,
|
||||
strlen(envVars[envNdx].name));
|
||||
errno = EFAULT;
|
||||
goto Failure;
|
||||
continue;
|
||||
}
|
||||
|
||||
/*
|
||||
@ -377,8 +376,7 @@ __build_env(void)
|
||||
false) == NULL) {
|
||||
__env_warnx(CorruptEnvFindMsg, envVars[envNdx].name,
|
||||
nameLen);
|
||||
errno = EFAULT;
|
||||
goto Failure;
|
||||
continue;
|
||||
}
|
||||
envVars[activeNdx].active = true;
|
||||
}
|
||||
@ -560,8 +558,7 @@ __merge_environ(void)
|
||||
if ((equals = strchr(*env, '=')) == NULL) {
|
||||
__env_warnx(CorruptEnvValueMsg, *env,
|
||||
strlen(*env));
|
||||
errno = EFAULT;
|
||||
return (-1);
|
||||
continue;
|
||||
}
|
||||
if (__setenv(*env, equals - *env, equals + 1,
|
||||
1) == -1)
|
||||
|
Loading…
Reference in New Issue
Block a user