diff options
author | Denis Vlasenko <vda.linux@googlemail.com> | 2009-04-19 23:07:51 +0000 |
---|---|---|
committer | Denis Vlasenko <vda.linux@googlemail.com> | 2009-04-19 23:07:51 +0000 |
commit | dcd78c4d0ff71a36d5c88953a62f5df6a4f31a9c (patch) | |
tree | 0fe10d42d2e0a35a4231aa81314691a972098819 /shell/hush_leaktool.sh | |
parent | 3798db58cfa0e939d0fc1822c9864355c1422cd0 (diff) | |
download | busybox-w32-dcd78c4d0ff71a36d5c88953a62f5df6a4f31a9c.tar.gz busybox-w32-dcd78c4d0ff71a36d5c88953a62f5df6a4f31a9c.tar.bz2 busybox-w32-dcd78c4d0ff71a36d5c88953a62f5df6a4f31a9c.zip |
hush: fix "export not_yet_defined_var", fix parsing of "cmd | }"
corner case; improve hush_leaktool.sh;
fix some false positives in testsuite
function old new delta
builtin_export 191 206 +15
parse_stream 2196 2200 +4
Diffstat (limited to 'shell/hush_leaktool.sh')
-rwxr-xr-x | shell/hush_leaktool.sh | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/shell/hush_leaktool.sh b/shell/hush_leaktool.sh index f8e47aecd..ca35ec144 100755 --- a/shell/hush_leaktool.sh +++ b/shell/hush_leaktool.sh | |||
@@ -6,8 +6,20 @@ output=output | |||
6 | freelist=`grep 'free 0x' "$output" | cut -d' ' -f2 | sort | uniq | xargs` | 6 | freelist=`grep 'free 0x' "$output" | cut -d' ' -f2 | sort | uniq | xargs` |
7 | 7 | ||
8 | grep -v free "$output" >"$output.leaked" | 8 | grep -v free "$output" >"$output.leaked" |
9 | |||
10 | i=8 | ||
11 | list= | ||
9 | for freed in $freelist; do | 12 | for freed in $freelist; do |
10 | echo Dropping $freed | 13 | list="$list -e $freed" |
11 | grep -v $freed <"$output.leaked" >"$output.temp" | 14 | test $((--i)) != 0 && continue |
15 | echo Dropping $list | ||
16 | grep -F -v $list <"$output.leaked" >"$output.temp" | ||
12 | mv "$output.temp" "$output.leaked" | 17 | mv "$output.temp" "$output.leaked" |
18 | i=8 | ||
19 | list= | ||
13 | done | 20 | done |
21 | if test "$list"; then | ||
22 | echo Dropping $list | ||
23 | grep -F -v $list <"$output.leaked" >"$output.temp" | ||
24 | mv "$output.temp" "$output.leaked" | ||
25 | fi | ||