A recently discovered fuzz bug reported a difference in execution result between Wasmtime and v8. The module in question had an exported function which had multiple results, including floats. About a year ago I reported a bug on v8 about functions with multiple results leading to incorrect results, and it was fixed many months back but I don't think that we ever actually pulled in that update. After updating v8 I saw the test failure go away, so this update is being done to fix the fuzz bug test failure I saw.
Fuzzing Infrastructure for Wasmtime
This crate provides test case generators and oracles for use with fuzzing.
These generators and oracles are generally independent of the fuzzing engine
that might be using them and driving the whole fuzzing process (e.g. libFuzzer
or AFL). As such, this crate does not contain any actual fuzz targets
itself. Those are generally just a couple lines of glue code that plug raw input
from (for example) libFuzzer into a generator, and then run one or more
oracles on the generated test case.
If you're looking for the actual fuzz target definitions we currently have, they
live in wasmtime/fuzz/fuzz_targets/* and are driven by cargo fuzz and
libFuzzer.