diff options
author | Denis Vlasenko <vda.linux@googlemail.com> | 2007-11-23 12:50:54 +0000 |
---|---|---|
committer | Denis Vlasenko <vda.linux@googlemail.com> | 2007-11-23 12:50:54 +0000 |
commit | f962a0354e2426ef9781df97e4b02b32e438783c (patch) | |
tree | 4e0b3363932fbc0a30d5242b58ca5a0fea48d2a8 /shell/hush_leaktool.sh | |
parent | f23c3f95e88302923147f159115180da7cf0344e (diff) | |
download | busybox-w32-f962a0354e2426ef9781df97e4b02b32e438783c.tar.gz busybox-w32-f962a0354e2426ef9781df97e4b02b32e438783c.tar.bz2 busybox-w32-f962a0354e2426ef9781df97e4b02b32e438783c.zip |
hush: plug memory leak
Diffstat (limited to 'shell/hush_leaktool.sh')
-rw-r--r-- | shell/hush_leaktool.sh | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/shell/hush_leaktool.sh b/shell/hush_leaktool.sh new file mode 100644 index 000000000..54a19aa6f --- /dev/null +++ b/shell/hush_leaktool.sh | |||
@@ -0,0 +1,13 @@ | |||
1 | #!/bin/sh | ||
2 | |||
3 | # hush's stderr with leak debug enabled | ||
4 | output=output | ||
5 | |||
6 | freelist=`grep 'free 0x' "$output" | cut -d' ' -f2 | sort | uniq | xargs` | ||
7 | |||
8 | grep -v free "$output" >temp1 | ||
9 | for freed in $freelist; do | ||
10 | echo Dropping $freed | ||
11 | cat temp1 | grep -v $freed >temp2 | ||
12 | mv temp2 temp1 | ||
13 | done | ||