Skip to content

Fuzz bug in MemoryPacking #3225

@kripken

Description

@kripken
(module
 (type $none_=>_externref_f64_i64_f64_i32_exnref (func (result externref f64 i64 f64 i32 exnref)))
 (type $v128_=>_externref_f64_i64_f64_i32_exnref (func (param v128) (result externref f64 i64 f64 i32 exnref)))
 (memory $0 (shared 2048 2049))
 (data passive "h\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00v\00n\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00")
 (data passive "")
 (data passive "")
 (data passive "")
 (data passive "")
 (data (i32.const 0) "")
 (data passive "")
 (data (i32.const 5) "")
 (data (i32.const 13) "")
 (export "func_54" (func $0))
 (func $0 (param $0 v128) (result externref f64 i64 f64 i32 exnref)
  (memory.init 0
   (i32.const 6)
   (i32.const 2)
   (i32.const 51)
  )
  (tuple.make
   (ref.null extern)
   (f64.const -nan:0xfffffffffbb56)
   (i64.const -130625735552240)
   (f64.const 0.235)
   (i32.const 102)
   (ref.null exn)
  )
 )
)

STR

$ wasm-opt w.wat --memory-packing --fuzz-exec
[fuzz-exec] calling func_54
[fuzz-exec] note result: func_54 => (externref(null), -nan:0xfffffffffbb56, -130625735552240, 0.235, 102, exnref(null))
[fuzz-exec] calling func_54
[trap out of bounds segment access in memory.init]
[fuzz-exec] comparing func_54
not identical! () != (externref(null), -nan:0xfffffffffbb56, -130625735552240, 0.235, 102, exnref(null))
[fuzz-exec] optimization passes changed execution results

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions