Skip to content

Commit

Permalink
[libfuzzer] Add custom max_len parameter for boringssl fuzzers.
Browse files Browse the repository at this point in the history
R=aizatsky@chromium.org, davidben@chromium.org, ochang@chromium.org
BUG=569578

Review-Url: https://codereview.chromium.org/1885493002
Cr-Commit-Position: refs/heads/master@{#390340}
  • Loading branch information
Dor1s authored and Commit bot committed Apr 28, 2016
1 parent 384d15d commit 146a2e8
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 16 deletions.
17 changes: 5 additions & 12 deletions testing/libfuzzer/archive_corpus.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,23 +18,17 @@

def main():
parser = argparse.ArgumentParser(description="Generate fuzzer config.")
parser.add_argument('--depfile', required=True)
parser.add_argument('--corpus', required=True)
parser.add_argument('--output', required=True)
parser.add_argument('--fuzzer', required=True)
args = parser.parse_args()

corpus_files = []
# Generate .d file with dependency from corpus archive to individual files.
with open(args.depfile, 'w') as depfile:
print(os.path.basename(args.output), ":", end="", file=depfile)
for (dirpath, _, filenames) in os.walk(args.corpus):
for filename in filenames:
full_filename = os.path.join(dirpath, filename)
print(" ", full_filename, end="", file=depfile)
corpus_files.append(full_filename)
# chrome bots complain about this one:
# print(" ", args.fuzzer, end="", file=depfile)

for (dirpath, _, filenames) in os.walk(args.corpus):
for filename in filenames:
full_filename = os.path.join(dirpath, filename)
corpus_files.append(full_filename)

with zipfile.ZipFile(args.output, 'w') as z:
for corpus_file in corpus_files:
Expand All @@ -43,4 +37,3 @@ def main():

if __name__ == '__main__':
main()

4 changes: 0 additions & 4 deletions testing/libfuzzer/fuzzer_test.gni
Original file line number Diff line number Diff line change
Expand Up @@ -37,14 +37,11 @@ template("fuzzer_test") {
}

if (defined(invoker.seed_corpus)) {
depfile = "$root_build_dir/$target_name" + ".seed_corpus.d"
out = "$root_build_dir/$target_name" + "_seed_corpus.zip"

action(target_name + "_seed_corpus") {
script = "//testing/libfuzzer/archive_corpus.py"
args = [
"--depfile",
rebase_path(depfile),
"--corpus",
rebase_path(invoker.seed_corpus),
"--output",
Expand All @@ -53,7 +50,6 @@ template("fuzzer_test") {
rebase_path("$root_build_dir/$target_name"),
]

depfile = depfile
outputs = [
out,
]
Expand Down
10 changes: 10 additions & 0 deletions third_party/boringssl/BUILD.gn
Original file line number Diff line number Diff line change
Expand Up @@ -178,6 +178,16 @@ if (build_with_chromium) {
":boringssl_fuzzer",
]
seed_corpus = "src/fuzz/${fuzzer}_corpus"

if ("cert" == fuzzer) {
libfuzzer_options = [ "max_len=3072" ]
} else if ("client" == fuzzer) {
libfuzzer_options = [ "max_len=20000" ]
} else if ("privkey" == fuzzer) {
libfuzzer_options = [ "max_len=2048" ]
} else if ("server" == fuzzer) {
libfuzzer_options = [ "max_len=4096" ]
}
}
}
}

0 comments on commit 146a2e8

Please sign in to comment.