diff options
author | Luiz Otavio O Souza <luiz@netgate.com> | 2016-02-09 10:19:06 -0600 |
---|---|---|
committer | Luiz Otavio O Souza <luiz@netgate.com> | 2016-02-09 10:19:06 -0600 |
commit | 8af5a1ea8e519a20c3c5d49486319b443b4375da (patch) | |
tree | e53ad5153ce3c574394c21b78c76ea0f8a7091e2 /contrib | |
parent | 12edb8fb64808ccdca681c3a2f91ca3a8dffee05 (diff) | |
parent | 87ab639764a7d4ff24c9e2ecd1f21536e3b9ceb5 (diff) | |
download | FreeBSD-src-8af5a1ea8e519a20c3c5d49486319b443b4375da.zip FreeBSD-src-8af5a1ea8e519a20c3c5d49486319b443b4375da.tar.gz |
Merge remote-tracking branch 'origin/stable/10' into devel
Diffstat (limited to 'contrib')
-rw-r--r-- | contrib/bsnmp/snmp_mibII/mibII.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/contrib/bsnmp/snmp_mibII/mibII.c b/contrib/bsnmp/snmp_mibII/mibII.c index d3fe27a..e47f453 100644 --- a/contrib/bsnmp/snmp_mibII/mibII.c +++ b/contrib/bsnmp/snmp_mibII/mibII.c @@ -969,7 +969,7 @@ handle_rtmsg(struct rt_msghdr *rtm) { struct sockaddr *addrs[RTAX_MAX]; struct if_msghdr *ifm; - struct ifa_msghdr ifam; + struct ifa_msghdr ifam, *ifamp; struct ifma_msghdr *ifmam; #ifdef RTM_IFANNOUNCE struct if_announcemsghdr *ifan; @@ -989,8 +989,9 @@ handle_rtmsg(struct rt_msghdr *rtm) switch (rtm->rtm_type) { case RTM_NEWADDR: - memcpy(&ifam, rtm, sizeof(ifam)); - mib_extract_addrs(ifam.ifam_addrs, (u_char *)(&ifam + 1), addrs); + ifamp = (struct ifa_msghdr *)rtm; + memcpy(&ifam, ifamp, sizeof(ifam)); + mib_extract_addrs(ifam.ifam_addrs, (u_char *)(ifamp + 1), addrs); if (addrs[RTAX_IFA] == NULL || addrs[RTAX_NETMASK] == NULL) break; @@ -1016,8 +1017,9 @@ handle_rtmsg(struct rt_msghdr *rtm) break; case RTM_DELADDR: - memcpy(&ifam, rtm, sizeof(ifam)); - mib_extract_addrs(ifam.ifam_addrs, (u_char *)(&ifam + 1), addrs); + ifamp = (struct ifa_msghdr *)rtm; + memcpy(&ifam, ifamp, sizeof(ifam)); + mib_extract_addrs(ifam.ifam_addrs, (u_char *)(ifamp + 1), addrs); if (addrs[RTAX_IFA] == NULL) break; |