aboutsummaryrefslogtreecommitdiff
path: root/shell/hush_leaktool.sh
diff options
context:
space:
mode:
Diffstat (limited to 'shell/hush_leaktool.sh')
-rwxr-xr-xshell/hush_leaktool.sh16
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
freelist=`grep 'free 0x' "$output" | cut -d' ' -f2 | sort | uniq | xargs`
grep -v free "$output" >"$output.leaked"
+
+i=8
+list=
for freed in $freelist; do
- echo Dropping $freed
- grep -v $freed <"$output.leaked" >"$output.temp"
+ list="$list -e $freed"
+ test $((--i)) != 0 && continue
+ echo Dropping $list
+ grep -F -v $list <"$output.leaked" >"$output.temp"
mv "$output.temp" "$output.leaked"
+ i=8
+ list=
done
+if test "$list"; then
+ echo Dropping $list
+ grep -F -v $list <"$output.leaked" >"$output.temp"
+ mv "$output.temp" "$output.leaked"
+fi