]> git.ipfire.org Git - thirdparty/wireguard-tools.git/commitdiff
wg: account for padding being in zero attribute
authorJason A. Donenfeld <Jason@zx2c4.com>
Tue, 17 Oct 2017 17:20:52 +0000 (19:20 +0200)
committerJason A. Donenfeld <Jason@zx2c4.com>
Tue, 17 Oct 2017 17:26:07 +0000 (19:26 +0200)
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
src/ipc.c

index f9270bc3cec85f044702c702ba37e018f6520824..72bbd38b45bf91cffd40a9334eb964bbd1ea56ce 100644 (file)
--- a/src/ipc.c
+++ b/src/ipc.c
@@ -683,6 +683,8 @@ static int parse_allowedip(const struct nlattr *attr, void *data)
        struct wgallowedip *allowedip = data;
 
        switch (mnl_attr_get_type(attr)) {
+       case WGALLOWEDIP_A_UNSPEC:
+               break;
        case WGALLOWEDIP_A_FAMILY:
                if (!mnl_attr_validate(attr, MNL_TYPE_U16))
                        allowedip->family = mnl_attr_get_u16(attr);
@@ -733,6 +735,8 @@ static int parse_peer(const struct nlattr *attr, void *data)
        struct wgpeer *peer = data;
 
        switch (mnl_attr_get_type(attr)) {
+       case WGPEER_A_UNSPEC:
+               break;
        case WGPEER_A_PUBLIC_KEY:
                if (mnl_attr_get_payload_len(attr) == sizeof(peer->public_key))
                        memcpy(peer->public_key, mnl_attr_get_payload(attr), sizeof(peer->public_key));
@@ -806,6 +810,8 @@ static int parse_device(const struct nlattr *attr, void *data)
        struct wgdevice *device = data;
 
        switch (mnl_attr_get_type(attr)) {
+       case WGDEVICE_A_UNSPEC:
+               break;
        case WGDEVICE_A_IFINDEX:
                if (!mnl_attr_validate(attr, MNL_TYPE_U32))
                        device->ifindex = mnl_attr_get_u32(attr);