aboutsummaryrefslogtreecommitdiff
path: root/shell/hush_leaktool.sh
diff options
context:
space:
mode:
authorDenis Vlasenko <vda.linux@googlemail.com>2007-11-23 12:50:54 +0000
committerDenis Vlasenko <vda.linux@googlemail.com>2007-11-23 12:50:54 +0000
commitf962a0354e2426ef9781df97e4b02b32e438783c (patch)
tree4e0b3363932fbc0a30d5242b58ca5a0fea48d2a8 /shell/hush_leaktool.sh
parentf23c3f95e88302923147f159115180da7cf0344e (diff)
downloadbusybox-f962a0354e2426ef9781df97e4b02b32e438783c.tar.gz
hush: plug memory leak
Diffstat (limited to 'shell/hush_leaktool.sh')
-rw-r--r--shell/hush_leaktool.sh13
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 @@
+#!/bin/sh
+
+# hush's stderr with leak debug enabled
+output=output
+
+freelist=`grep 'free 0x' "$output" | cut -d' ' -f2 | sort | uniq | xargs`
+
+grep -v free "$output" >temp1
+for freed in $freelist; do
+ echo Dropping $freed
+ cat temp1 | grep -v $freed >temp2
+ mv temp2 temp1
+done