Browse Source

Fix max memory pages for spectests fuzz target. (#3829)

This commit fixes the spectests fuzz target to set a lower bound on the
arbitrary pooling allocator configurations of 10 memory pages so that the limit
doesn't interfere with what's required in the spec tests.
pull/3833/head
Peter Huene 3 years ago
committed by GitHub
parent
commit
084452acab
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 18
      crates/fuzzing/src/generators.rs

18
crates/fuzzing/src/generators.rs

@ -405,10 +405,22 @@ impl Config {
config.reference_types_enabled = true;
config.max_memories = 1;
if let InstanceAllocationStrategy::Pooling { module_limits, .. } =
&mut self.wasmtime.strategy
if let InstanceAllocationStrategy::Pooling {
module_limits: limits,
..
} = &mut self.wasmtime.strategy
{
module_limits.memories = 1;
limits.memories = 1;
// Set a lower bound of 10 pages as the spec tests define memories with at
// least a few pages and some tests do memory grow operations.
limits.memory_pages = std::cmp::max(limits.memory_pages, 10);
match &mut self.wasmtime.memory_config {
MemoryConfig::Normal(config) => {
config.static_memory_maximum_size = Some(limits.memory_pages * 0x10000);
}
MemoryConfig::CustomUnaligned => unreachable!(), // Arbitrary impl for `Config` should have prevented this
}
}
}

Loading…
Cancel
Save