Turn on memory scrubbing when fuzz testing.
[obnox/wireshark/wip.git] / tools / test-fuzzed-cap.sh
1 #!/bin/bash
2 #
3 # $Id$
4
5 # A little script to run tshark on a capture file that failed fuzz testing.
6 # Useful because it sets up ulimits for you.  (I'm writing this after having
7 # my machine hang up for like 15 minutes because I wasn't paying attention
8 # while tshark was running on a fuzzed capture and it used all my RAM +
9 # swap--which was pretty painful.)
10
11 if [ $# -ne 1 ]
12 then
13         printf "Usage: $0 /path/to/file.pcap\n"
14         exit 1
15 fi
16
17 # These may be set to your liking
18 # Stop the child process, if it's running longer than x seconds
19 MAX_CPU_TIME=900
20 # Stop the child process, if it's using more than y * 1024 bytes
21 MAX_VMEM=500000
22
23 # set some limits to the child processes, e.g. stop it if it's running longer then MAX_CPU_TIME seconds
24 # (ulimit is not supported well on cygwin and probably other platforms, e.g. cygwin shows some warnings)
25 ulimit -S -t $MAX_CPU_TIME -v $MAX_VMEM
26 # Allow core files to be generated
27 ulimit -c unlimited
28
29 export WIRESHARK_DEBUG_SCRUB_MEMORY=1
30 export WIRESHARK_DEBUG_SE_USE_CANARY=1
31
32 ./tshark -nVxr $1 > /dev/null