summaryrefslogtreecommitdiffstats
path: root/bin/ptxdist
diff options
context:
space:
mode:
authorMichael Olbrich <m.olbrich@pengutronix.de>2014-10-10 09:19:05 +0200
committerMichael Olbrich <m.olbrich@pengutronix.de>2014-10-10 09:19:18 +0200
commitb6d737df17d23c1856549473dd870ce2f15cba18 (patch)
treedf684652bfaa129df7f0051d68959ee597240a1f /bin/ptxdist
parent22d421da02163ab004593d166281dfb154cc9672 (diff)
downloadptxdist-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-xbin/ptxdist7
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 ########