diff options
| author | Dmitry Vyukov <dvyukov@google.com> | 2018-02-18 16:38:45 +0100 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2018-02-19 21:48:20 +0100 |
| commit | 90fd6503136121e9494761a460898e83bc0b6b3e (patch) | |
| tree | 156c46c5612463440c5759658f143c7400ddc0fb /prog/encodingexec_test.go | |
| parent | 6e89f94756a282d0d7ae95d084d37f40d95dd392 (diff) | |
prog: fix PhysicalAddr for NULL addresses
Turns out we never produced NULL pointers because
what's meant to be NULL pointer was actually encoded
as pointer to beginning of the data region.
Diffstat (limited to 'prog/encodingexec_test.go')
| -rw-r--r-- | prog/encodingexec_test.go | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/prog/encodingexec_test.go b/prog/encodingexec_test.go index 06265fa76..92c36cad4 100644 --- a/prog/encodingexec_test.go +++ b/prog/encodingexec_test.go @@ -381,6 +381,15 @@ func TestSerializeForExec(t *testing.T) { }, nil, }, + { + // NULL pointer must be encoded os 0. + "syz_test$opt1(0x0)", + []uint64{ + callID("syz_test$opt1"), ExecNoCopyout, 1, execArgConst, 8, 0, + execInstrEOF, + }, + nil, + }, } buf := make([]byte, ExecBufferSize) |
