aboutsummaryrefslogtreecommitdiffstats
path: root/prog/encodingexec.go
diff options
context:
space:
mode:
authorAlexander Egorenkov <Alexander.Egorenkov@ibm.com>2020-06-19 21:18:30 +0200
committerDmitry Vyukov <dvyukov@google.com>2020-06-22 13:34:25 +0200
commitc4464494146af06f1b7a835e8aacad9edc491982 (patch)
tree828fba52b136895ee49f2bb61eccf56b9e66859d /prog/encodingexec.go
parenteabcced43245881efa7769d938bcaf795ed48742 (diff)
prog/encodingexec: pad data args with zero bytes
We must pad data arguments with known values when serializing them into the given destination buffer because it could be reused and contain random bytes from previous use. Signed-off-by: Alexander Egorenkov <Alexander.Egorenkov@ibm.com>
Diffstat (limited to 'prog/encodingexec.go')
-rw-r--r--prog/encodingexec.go1
1 files changed, 1 insertions, 0 deletions
diff --git a/prog/encodingexec.go b/prog/encodingexec.go
index 99357dfd2..78eae81ae 100644
--- a/prog/encodingexec.go
+++ b/prog/encodingexec.go
@@ -275,6 +275,7 @@ func (w *execContext) writeArg(arg Arg) {
w.eof = true
} else {
copy(w.buf, data)
+ copy(w.buf[len(data):], make([]byte, 8))
w.buf = w.buf[padded:]
}
case *UnionArg: