• Andreas Haas's avatar
    [wasm] Avoid executing infinite loops in the wasm fuzzers · 7b53a0e0
    Andreas Haas authored
    The wasm-async fuzzer uses the bytes provided by the fuzzer engine
    directly as wasm module bytes, compiles them with async compilation, and
    then tries to execute the "main" function of the module. This "main"
    can have an infinite loop which causes a timeout in the fuzzer. With
    this CL the "main" function is first executed with the interpreter. If
    the execution in the interpreter finishes within 16k steps, which means
    that there is no infinite loop, also the compiled code is executed.
    
    I added the raw fuzzer input as a test case because in this case I
    really want to test the fuzzer and not V8.
    
    R=clemensh@chromium.org
    
    Bug: chromium:761784
    Change-Id: Id1fe5da0da8670ec821ab9979fdb9454dbde1162
    Reviewed-on: https://chromium-review.googlesource.com/651046
    Commit-Queue: Andreas Haas <ahaas@chromium.org>
    Reviewed-by: 's avatarClemens Hammacher <clemensh@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#47874}
    7b53a0e0
wasm-fuzzer-common.cc 8.43 KB