From d549e5cc7f6952808dfca1d55d2e624390fc5d74 Mon Sep 17 00:00:00 2001 From: "Andrey A. Chernov" Date: Fri, 20 Oct 1995 22:17:35 +0000 Subject: [PATCH] Fix original patch error with ! before strncmp Zap only needed LD_* variables --- eBones/libexec/telnetd/sys_term.c | 14 ++++++++++---- libexec/telnetd/sys_term.c | 14 ++++++++++---- secure/libexec/telnetd/sys_term.c | 14 ++++++++++---- 3 files changed, 30 insertions(+), 12 deletions(-) diff --git a/eBones/libexec/telnetd/sys_term.c b/eBones/libexec/telnetd/sys_term.c index 1f97554acf4..20ccc453cf7 100644 --- a/eBones/libexec/telnetd/sys_term.c +++ b/eBones/libexec/telnetd/sys_term.c @@ -1833,10 +1833,16 @@ scrub_env() register char **cpp, **cpp2; for (cpp2 = cpp = environ; *cpp; cpp++) { - if (!strncmp(*cpp, "LD_", 3) && - !strncmp(*cpp, "_RLD_", 5) && - !strncmp(*cpp, "LIBPATH=", 8) && - !strncmp(*cpp, "IFS=", 4)) +#ifdef __FreeBSD__ + if (strncmp(*cpp, "LD_LIBRARY_PATH=", 16) && + strncmp(*cpp, "LD_NOSTD_PATH=", 14) && + strncmp(*cpp, "LD_PRELOAD=", 11) && +#else + if (strncmp(*cpp, "LD_", 3) && + strncmp(*cpp, "_RLD_", 5) && + strncmp(*cpp, "LIBPATH=", 8) && +#endif + strncmp(*cpp, "IFS=", 4)) *cpp2++ = *cpp; } *cpp2 = 0; diff --git a/libexec/telnetd/sys_term.c b/libexec/telnetd/sys_term.c index 79b9313a077..2e3e4d2e6b9 100644 --- a/libexec/telnetd/sys_term.c +++ b/libexec/telnetd/sys_term.c @@ -1780,10 +1780,16 @@ scrub_env() register char **cpp, **cpp2; for (cpp2 = cpp = environ; *cpp; cpp++) { - if (!strncmp(*cpp, "LD_", 3) && - !strncmp(*cpp, "_RLD_", 5) && - !strncmp(*cpp, "LIBPATH=", 8) && - !strncmp(*cpp, "IFS=", 4)) +#ifdef __FreeBSD__ + if (strncmp(*cpp, "LD_LIBRARY_PATH=", 16) && + strncmp(*cpp, "LD_NOSTD_PATH=", 14) && + strncmp(*cpp, "LD_PRELOAD=", 11) && +#else + if (strncmp(*cpp, "LD_", 3) && + strncmp(*cpp, "_RLD_", 5) && + strncmp(*cpp, "LIBPATH=", 8) && +#endif + strncmp(*cpp, "IFS=", 4)) *cpp2++ = *cpp; } *cpp2 = 0; diff --git a/secure/libexec/telnetd/sys_term.c b/secure/libexec/telnetd/sys_term.c index 1f97554acf4..20ccc453cf7 100644 --- a/secure/libexec/telnetd/sys_term.c +++ b/secure/libexec/telnetd/sys_term.c @@ -1833,10 +1833,16 @@ scrub_env() register char **cpp, **cpp2; for (cpp2 = cpp = environ; *cpp; cpp++) { - if (!strncmp(*cpp, "LD_", 3) && - !strncmp(*cpp, "_RLD_", 5) && - !strncmp(*cpp, "LIBPATH=", 8) && - !strncmp(*cpp, "IFS=", 4)) +#ifdef __FreeBSD__ + if (strncmp(*cpp, "LD_LIBRARY_PATH=", 16) && + strncmp(*cpp, "LD_NOSTD_PATH=", 14) && + strncmp(*cpp, "LD_PRELOAD=", 11) && +#else + if (strncmp(*cpp, "LD_", 3) && + strncmp(*cpp, "_RLD_", 5) && + strncmp(*cpp, "LIBPATH=", 8) && +#endif + strncmp(*cpp, "IFS=", 4)) *cpp2++ = *cpp; } *cpp2 = 0;