From 07a4d4adf03055fcc6a37148e43d3c931eb168d6 Mon Sep 17 00:00:00 2001 From: Aleksandr Nogikh Date: Tue, 13 Aug 2024 20:29:15 +0200 Subject: syz-manager: check for the minimum reply buffer size Closes #5176. --- syz-manager/snapshot.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/syz-manager/snapshot.go b/syz-manager/snapshot.go index 52d3f02e2..ece7974f2 100644 --- a/syz-manager/snapshot.go +++ b/syz-manager/snapshot.go @@ -161,6 +161,11 @@ func (mgr *Manager) snapshotRun(inst *vm.Instance, builder *flatbuffers.Builder, } func parseExecResult(data []byte) *flatrpc.ExecResult { + if len(data) < flatbuffers.SizeUint32 { + return &flatrpc.ExecResult{ + Error: "the buffer is too small", + } + } raw, err := flatrpc.Parse[*flatrpc.ExecutorMessageRaw](data[flatbuffers.SizeUint32:]) if err != nil { // Don't consider result parsing error as an infrastructure error, -- cgit mrf-deployment