diff options
author | Martin Willi <martin@revosec.ch> | 2013-03-15 14:32:25 +0100 |
---|---|---|
committer | Martin Willi <martin@revosec.ch> | 2013-03-15 14:32:25 +0100 |
commit | 53c98f098feed0dd779ab0426b6ab635a6e33c8f (patch) | |
tree | f2d00b8a76b98a62fd4f421f3fbf44a4c57b255e /src/libhydra/plugins/kernel_netlink/kernel_netlink_shared.c | |
parent | 6ac601f543346ec75bcba0fc14fb7319663f37d8 (diff) | |
download | strongswan-53c98f098feed0dd779ab0426b6ab635a6e33c8f.tar.bz2 strongswan-53c98f098feed0dd779ab0426b6ab635a6e33c8f.tar.xz |
Correctly check buffer length in netlink_add_attribute()
Diffstat (limited to 'src/libhydra/plugins/kernel_netlink/kernel_netlink_shared.c')
-rw-r--r-- | src/libhydra/plugins/kernel_netlink/kernel_netlink_shared.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/libhydra/plugins/kernel_netlink/kernel_netlink_shared.c b/src/libhydra/plugins/kernel_netlink/kernel_netlink_shared.c index 561e8529d..729e08d5a 100644 --- a/src/libhydra/plugins/kernel_netlink/kernel_netlink_shared.c +++ b/src/libhydra/plugins/kernel_netlink/kernel_netlink_shared.c @@ -292,7 +292,7 @@ void netlink_add_attribute(struct nlmsghdr *hdr, int rta_type, chunk_t data, { struct rtattr *rta; - if (NLMSG_ALIGN(hdr->nlmsg_len) + RTA_ALIGN(data.len) > buflen) + if (NLMSG_ALIGN(hdr->nlmsg_len) + RTA_LENGTH(data.len) > buflen) { DBG1(DBG_KNL, "unable to add attribute, buffer too small"); return; |