From c38bb72797916f2a0ab9906aad29162ca8d53546 Mon Sep 17 00:00:00 2001 From: Ben Laurie Date: Sat, 26 Mar 2016 17:19:14 +0000 Subject: Add fuzzing! MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Reviewed-by: Emilia Käsper --- fuzz/helper.py | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100755 fuzz/helper.py (limited to 'fuzz/helper.py') diff --git a/fuzz/helper.py b/fuzz/helper.py new file mode 100755 index 0000000000..75a9e12f0a --- /dev/null +++ b/fuzz/helper.py @@ -0,0 +1,45 @@ +#!/usr/bin/python + +"""Fuzzing helper, creates and uses corpus/crash directories. + +fuzzer.py +""" + +import os +import subprocess +import sys + +FUZZER = sys.argv[1] + +THIS_DIR = os.path.abspath(os.path.dirname(__file__)) +CORPORA_DIR = os.path.abspath(os.path.join(THIS_DIR, "corpora")) + +FUZZER_DIR = os.path.abspath(os.path.join(CORPORA_DIR, FUZZER)) +if not os.path.isdir(FUZZER_DIR): + os.mkdir(FUZZER_DIR) + +corpora = [] + +def _create(d): + dd = os.path.abspath(os.path.join(CORPORA_DIR, d)) + if not os.path.isdir(dd): + os.mkdir(dd) + corpora.append(dd) + +def _add(d): + dd = os.path.abspath(os.path.join(CORPORA_DIR, d)) + if os.path.isdir(dd): + corpora.append(dd) + +def main(): + _create(FUZZER) + _create(FUZZER + "-crash") + _add(FUZZER + "-seed") + + cmd = ([os.path.abspath(os.path.join(THIS_DIR, FUZZER))] + sys.argv[2:] + + ["-artifact_prefix=" + corpora[1] + "/"] + corpora) + print " ".join(cmd) + subprocess.call(cmd) + +if __name__ == "__main__": + main() -- cgit v1.2.3