]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
virarptable: Properly calculate rtattr length
authorMartin Kletzander <mkletzan@redhat.com>
Fri, 16 Aug 2024 11:56:51 +0000 (13:56 +0200)
committerMartin Kletzander <mkletzan@redhat.com>
Mon, 19 Aug 2024 10:12:16 +0000 (12:12 +0200)
Use convenience macro which does almost the same thing we were doing,
but also pads out the payload length to a multiple of NLMSG_ALIGNTO (4)
bytes.

Signed-off-by: Martin Kletzander <mkletzan@redhat.com>
Reviewed-by: Laine Stump <laine@redhat.com>
src/util/virarptable.c

index 299dddd664ab3d7d1253a4a3241d4e116f4cf2ea..d8e41c5a866852bf7f954e3f2bc386e8363f868c 100644 (file)
@@ -102,8 +102,7 @@ virArpTableGet(void)
             return table;
 
         VIR_WARNINGS_NO_CAST_ALIGN
-        parse_rtattr(tb, NDA_MAX, NDA_RTA(r),
-                     nh->nlmsg_len - NLMSG_LENGTH(sizeof(*r)));
+        parse_rtattr(tb, NDA_MAX, NDA_RTA(r), NLMSG_PAYLOAD(nh, sizeof(*r)));
         VIR_WARNINGS_RESET
 
         if (tb[NDA_DST] == NULL || tb[NDA_LLADDR] == NULL)