]> git.ipfire.org Git - thirdparty/wireguard-tools.git/commitdiff
embeddable-wg-library: zero attribute padding
authorJason A. Donenfeld <Jason@zx2c4.com>
Thu, 3 May 2018 17:07:55 +0000 (19:07 +0200)
committerJason A. Donenfeld <Jason@zx2c4.com>
Thu, 3 May 2018 17:08:20 +0000 (19:08 +0200)
See: http://git.netfilter.org/libmnl/commit/?id=37c876b55a2c00424ccda5a300ab5fdec1d88b22
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
contrib/embeddable-wg-library/wireguard.c

index a7135678ec8c4c0cf58b71b84f58b0875ea0235b..16ddd9a0824503e07fe3d4277898c4c30be98190 100644 (file)
@@ -358,11 +358,15 @@ static void mnl_attr_put(struct nlmsghdr *nlh, uint16_t type, size_t len,
 {
        struct nlattr *attr = mnl_nlmsg_get_payload_tail(nlh);
        uint16_t payload_len = MNL_ALIGN(sizeof(struct nlattr)) + len;
+       int pad;
 
        attr->nla_type = type;
        attr->nla_len = payload_len;
        memcpy(mnl_attr_get_payload(attr), data, len);
        nlh->nlmsg_len += MNL_ALIGN(payload_len);
+       pad = MNL_ALIGN(len) - len;
+       if (pad > 0)
+               memset(mnl_attr_get_payload(attr) + len, 0, pad);
 }
 
 static void mnl_attr_put_u16(struct nlmsghdr *nlh, uint16_t type, uint16_t data)