diff options
author | Michael Olbrich <m.olbrich@pengutronix.de> | 2014-10-10 09:19:05 +0200 |
---|---|---|
committer | Michael Olbrich <m.olbrich@pengutronix.de> | 2014-10-10 09:19:18 +0200 |
commit | b6d737df17d23c1856549473dd870ce2f15cba18 (patch) | |
tree | df684652bfaa129df7f0051d68959ee597240a1f /bin/ptxdist | |
parent | 22d421da02163ab004593d166281dfb154cc9672 (diff) | |
download | ptxdist-b6d737df17d23c1856549473dd870ce2f15cba18.tar.gz ptxdist-b6d737df17d23c1856549473dd870ce2f15cba18.tar.xz |
ptxdist use 'export -p' to list all exported variables and functions
With the latest bash security fixes /usr/bin/env shows encoded versions of
exported bash functions and unset fails.
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
Diffstat (limited to 'bin/ptxdist')
-rwxr-xr-x | bin/ptxdist | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/bin/ptxdist b/bin/ptxdist index f823ebed9..555d801ae 100755 --- a/bin/ptxdist +++ b/bin/ptxdist @@ -2146,9 +2146,10 @@ setup_env() { whitelist="${*}" whitelist="${whitelist:+|}${whitelist// /|}" - unset $(/usr/bin/env | \ - sed -n -e "s/^\([^=[:space:]]\+\)=.*$/\1/p" | \ - egrep -v "^(PTXDIST_PTXRC|PTX_AUTOBUILD_DESTDIR|CCACHE_.*|PWD|HOME|USER|PATH|TERM|COLUMNS|LINES|DISPLAY|TMPDIR|http_proxy|https_proxy|ftp_proxy|no_proxy${whitelist})$" ) + unset $({ + export -p | sed -n 's/^declare -x \([^=]*\).*$/\1/p' + export -fp | sed -n 's/^declare -fx \([^=]*\).*$/\1/p' + } | egrep -v "^(PTXDIST_PTXRC|PTX_AUTOBUILD_DESTDIR|CCACHE_.*|PWD|HOME|USER|PATH|TERM|COLUMNS|LINES|DISPLAY|TMPDIR|http_proxy|https_proxy|ftp_proxy|no_proxy${whitelist})$") ######## the environment is clean now ######## |