From f887b0490140a0c80dd49d2c549ac57ac2adc2b9 Mon Sep 17 00:00:00 2001 From: Dmitry Vyukov Date: Mon, 15 Apr 2024 12:36:25 +0200 Subject: prog: don't pad data in exec encoding With leb128 ints it does not make any sense. Reduces exec sizes a bit more: - exec sizes: 10%:597 50%:1438 90%:7145 + exec sizes: 10%:584 50%:1423 90%:7076 --- prog/decodeexec.go | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'prog/decodeexec.go') diff --git a/prog/decodeexec.go b/prog/decodeexec.go index 4574ef845..bd92854e6 100644 --- a/prog/decodeexec.go +++ b/prog/decodeexec.go @@ -232,15 +232,14 @@ func (dec *execDecoder) read() uint64 { } func (dec *execDecoder) readBlob(size uint64) []byte { - padded := (size + 7) / 8 * 8 - if uint64(len(dec.data)) < padded { + if uint64(len(dec.data)) < size { dec.setErr(fmt.Errorf("exec program overflow")) } if dec.err != nil { return nil } data := dec.data[:size] - dec.data = dec.data[padded:] + dec.data = dec.data[size:] return data } -- cgit mrf-deployment