From 081b8ac39eccc09ed67a6363649d5ed21ceda8ef Mon Sep 17 00:00:00 2001 From: Luigi Coniglio Date: Fri, 12 May 2023 04:24:58 -0700 Subject: [PATCH] Add more reprl options and have fuzzilli pick them Summary: Give fuzzilli a way to fuzz runtime options. I will adjust the repro job accordingly in a separate diff. Reviewed By: 0xedward Differential Revision: D45609078 fbshipit-source-id: 5000d8e96fe6fd93260a8deca56aa793b684d9bf --- tools/fuzzers/fuzzilli/profile/HermesProfile.swift | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/tools/fuzzers/fuzzilli/profile/HermesProfile.swift b/tools/fuzzers/fuzzilli/profile/HermesProfile.swift index 66717831fca..dd3084b031f 100644 --- a/tools/fuzzers/fuzzilli/profile/HermesProfile.swift +++ b/tools/fuzzers/fuzzilli/profile/HermesProfile.swift @@ -9,7 +9,18 @@ import Fuzzilli let hermesProfile = Profile( getProcessArguments: { (randomizingArguments: Bool) -> [String] in - return ["--reprl"] + var args = ["--reprl"] + + guard randomizingArguments else { return args } + + if probability(0.5) { args.append("--compile") } + if probability(0.5) { args.append("--lazy-compilation") } + if probability(0.5) { args.append("--optimize") } + if probability(0.5) { args.append("--async-break") } + if probability(0.5) { args.append("--block-scoping") } + if probability(0.5) { args.append("--random-mem-layout") } + + return args }, processEnv: ["UBSAN_OPTIONS": "handle_segv=0"],