X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Flibsystemd%2Fsd-rtnl%2Frtnl-message.c;h=27b606593b072cde49f719d17562ce6bce44ae6a;hb=c74e630d0ce4b1ace116e8211f3b6eb472efa7e3;hp=8c20b8e7655eb44346a08c9baa38ba6d8a37eb31;hpb=151b9b9662a90455262ce575a8a8ae74bf4ff336;p=elogind.git diff --git a/src/libsystemd/sd-rtnl/rtnl-message.c b/src/libsystemd/sd-rtnl/rtnl-message.c index 8c20b8e76..27b606593 100644 --- a/src/libsystemd/sd-rtnl/rtnl-message.c +++ b/src/libsystemd/sd-rtnl/rtnl-message.c @@ -480,7 +480,7 @@ int sd_rtnl_message_append_u16(sd_rtnl_message *m, unsigned short type, uint16_t break; else return -ENOTSUP; - break; + default: return -ENOTSUP; } @@ -521,6 +521,7 @@ int sd_rtnl_message_append_u32(sd_rtnl_message *m, unsigned short type, uint32_t case IFLA_PROMISCUITY: case IFLA_NUM_TX_QUEUES: case IFLA_NUM_RX_QUEUES: + case IFLA_MACVLAN_MODE: break; default: return -ENOTSUP; @@ -932,10 +933,6 @@ int socket_read_message(sd_rtnl *nl, sd_rtnl_message **ret) { if (k > 0) switch (m->hdr->nlmsg_type) { - struct ifinfomsg *ifi; - struct ifaddrmsg *ifa; - struct rtmsg *rtm; - /* check that the size matches the message type */ case NLMSG_ERROR: if (m->hdr->nlmsg_len < NLMSG_LENGTH(sizeof(struct nlmsgerr))) @@ -948,6 +945,8 @@ int socket_read_message(sd_rtnl *nl, sd_rtnl_message **ret) { if (m->hdr->nlmsg_len < NLMSG_LENGTH(sizeof(struct ifinfomsg))) k = -EIO; else { + struct ifinfomsg *ifi; + ifi = NLMSG_DATA(m->hdr); UPDATE_RTA(m, IFLA_RTA(ifi)); } @@ -958,6 +957,8 @@ int socket_read_message(sd_rtnl *nl, sd_rtnl_message **ret) { if (m->hdr->nlmsg_len < NLMSG_LENGTH(sizeof(struct ifaddrmsg))) k = -EIO; else { + struct ifaddrmsg *ifa; + ifa = NLMSG_DATA(m->hdr); UPDATE_RTA(m, IFA_RTA(ifa)); } @@ -968,6 +969,8 @@ int socket_read_message(sd_rtnl *nl, sd_rtnl_message **ret) { if (m->hdr->nlmsg_len < NLMSG_LENGTH(sizeof(struct rtmsg))) k = -EIO; else { + struct rtmsg *rtm; + rtm = NLMSG_DATA(m->hdr); UPDATE_RTA(m, RTM_RTA(rtm)); }