From 856e190dd707c02002dcdf6434424ef8af375ada Mon Sep 17 00:00:00 2001 From: Nadia Pinaeva Date: Thu, 25 Apr 2024 09:28:44 +0200 Subject: [PATCH] nl_linux: align message length before parsing. Signed-off-by: Nadia Pinaeva --- nl/nl_linux.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/nl/nl_linux.go b/nl/nl_linux.go index a0bfe83d..959a72c3 100644 --- a/nl/nl_linux.go +++ b/nl/nl_linux.go @@ -804,8 +804,9 @@ func (s *NetlinkSocket) Receive() ([]syscall.NetlinkMessage, *unix.SockaddrNetli if nr < unix.NLMSG_HDRLEN { return nil, nil, fmt.Errorf("Got short response from netlink") } - rb2 := make([]byte, nr) - copy(rb2, rb[:nr]) + msgLen := nlmAlignOf(nr) + rb2 := make([]byte, msgLen) + copy(rb2, rb[:msgLen]) nl, err := syscall.ParseNetlinkMessage(rb2) if err != nil { return nil, nil, err