diff options
author | Alon Zakai <azakai@google.com> | 2020-10-15 10:03:28 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-10-15 10:03:28 -0700 |
commit | c2e6cb0b5530b0d4e1a3161de319fc8373476578 (patch) | |
tree | 3711987cce21e482fd673c77ff16c1022e3e2b0f /src/tools | |
parent | 3e1fdf28f3aaf2191f4f02c64f4557ee6b109271 (diff) | |
download | binaryen-c2e6cb0b5530b0d4e1a3161de319fc8373476578.tar.gz binaryen-c2e6cb0b5530b0d4e1a3161de319fc8373476578.tar.bz2 binaryen-c2e6cb0b5530b0d4e1a3161de319fc8373476578.zip |
Fuzz fix for MemoryPacking on trampled data (#3222)
I believe originally wasm did not allow overlapping segments, that is, where
one memory segment tramples the data from a previous one. But then the
spec changed its mind and we allowed it. Binaryen seems to have assumed
the original case, and not checked for trampling.
If there is a chance of trampling, we cannot optimize out zeros - the zero
may have an effect if it tramples data from a previous segment. This does
not occur in practice in LLVM output, which is why this wasn't a problem
so far, I think.
An existing testcase hit this issue, so I split it up.
Diffstat (limited to 'src/tools')
0 files changed, 0 insertions, 0 deletions