Viewing file: helper.py (1.33 KB) -rwxr-xr-x Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
#!/usr/bin/python # # Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the Apache License 2.0 (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy # in the file LICENSE in the source distribution or at # https://www.openssl.org/source/license.html
"""Fuzzing helper, creates and uses corpus/crash directories.
fuzzer.py <fuzzer> <extra fuzzer arguments> """
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()
|