diff --git a/lib/libc/stdlib/getenv.c b/lib/libc/stdlib/getenv.c index a8205d6..96bf87c 100644 --- a/lib/libc/stdlib/getenv.c +++ b/lib/libc/stdlib/getenv.c @@ -23,6 +23,8 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +#include "namespace.h" + #include #include #include @@ -30,16 +32,16 @@ #include #include #include - +#include #include +#include "un-namespace.h" __FBSDID("$FreeBSD: src/lib/libc/stdlib/getenv.c,v 1.12 2007/09/22 02:30:44 scf Exp $"); - static const char CorruptEnvFindMsg[] = - "environment corrupt; unable to find %.*s"; + "environment corrupt; unable to find "; static const char CorruptEnvValueMsg[] = - "environment corrupt; missing value for %s"; + "environment corrupt; missing value for "; /* @@ -341,7 +343,10 @@ __build_env(void) envVars[envNdx].valueSize = strlen(envVars[envNdx].value); } else { - warnx(CorruptEnvValueMsg, envVars[envNdx].name); + _write(STDERR_FILENO, CorruptEnvValueMsg, + sizeof(CorruptEnvValueMsg) - 1); + _write(STDERR_FILENO, envVars[envNdx].name, + strlen(envVars[envNdx].name)); errno = EFAULT; goto Failure; } @@ -356,8 +361,10 @@ __build_env(void) activeNdx = envVarsTotal - 1; if (__findenv(envVars[envNdx].name, nameLen, &activeNdx, false) == NULL) { - warnx(CorruptEnvFindMsg, (int)nameLen, - envVars[envNdx].name); + _write(STDERR_FILENO, CorruptEnvFindMsg, + strlen(CorruptEnvFindMsg)); + _write(STDERR_FILENO, envVars[envNdx].name, + nameLen); errno = EFAULT; goto Failure; } @@ -527,7 +534,11 @@ __merge_environ(void) if (origEnviron != NULL) for (env = origEnviron; *env != NULL; env++) { if ((equals = strchr(*env, '=')) == NULL) { - warnx(CorruptEnvValueMsg, *env); + _write(STDERR_FILENO, + CorruptEnvValueMsg, + sizeof(CorruptEnvValueMsg) - 1); + _write(STDERR_FILENO, *env, + strlen(*env)); errno = EFAULT; return (-1); }