embeddable-wg-library: zero attribute padding
See: http://git.netfilter.org/libmnl/commit/?id=37c876b55a2c00424ccda5a300ab5fdec1d88b22 Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
This commit is contained in:
parent
f36209f588
commit
f8a990763a
1 changed files with 4 additions and 0 deletions
|
@ -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);
|
struct nlattr *attr = mnl_nlmsg_get_payload_tail(nlh);
|
||||||
uint16_t payload_len = MNL_ALIGN(sizeof(struct nlattr)) + len;
|
uint16_t payload_len = MNL_ALIGN(sizeof(struct nlattr)) + len;
|
||||||
|
int pad;
|
||||||
|
|
||||||
attr->nla_type = type;
|
attr->nla_type = type;
|
||||||
attr->nla_len = payload_len;
|
attr->nla_len = payload_len;
|
||||||
memcpy(mnl_attr_get_payload(attr), data, len);
|
memcpy(mnl_attr_get_payload(attr), data, len);
|
||||||
nlh->nlmsg_len += MNL_ALIGN(payload_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)
|
static void mnl_attr_put_u16(struct nlmsghdr *nlh, uint16_t type, uint16_t data)
|
||||||
|
|
Loading…
Reference in a new issue