summaryrefslogtreecommitdiff
path: root/osdep
diff options
context:
space:
mode:
authorAdam Ierymenko <adam.ierymenko@gmail.com>2019-03-28 22:40:28 +0000
committerAdam Ierymenko <adam.ierymenko@gmail.com>2019-03-28 22:40:28 +0000
commit92f199ab985f861028ffcbd899f9037e8e575ab6 (patch)
tree73d52d72a0130fdf4fa678f107fd4b4155d5805e /osdep
parentb65feeba85c19b07267014dd329b6072dacaefd9 (diff)
downloadinfinitytier-92f199ab985f861028ffcbd899f9037e8e575ab6.tar.gz
infinitytier-92f199ab985f861028ffcbd899f9037e8e575ab6.zip
More bug fixing for AARCH64.
Diffstat (limited to 'osdep')
-rw-r--r--osdep/LinuxNetLink.cpp17
1 files changed, 6 insertions, 11 deletions
diff --git a/osdep/LinuxNetLink.cpp b/osdep/LinuxNetLink.cpp
index 90b3d53a..6645a856 100644
--- a/osdep/LinuxNetLink.cpp
+++ b/osdep/LinuxNetLink.cpp
@@ -362,7 +362,7 @@ void LinuxNetLink::_routeDeleted(struct nlmsghdr *nlp)
void LinuxNetLink::_linkAdded(struct nlmsghdr *nlp)
{
- char mac_bin[6] = {0};
+ unsigned char mac_bin[6] = {0};
unsigned int mtu = 0;
char ifname[IFNAMSIZ] = {0};
@@ -370,17 +370,16 @@ void LinuxNetLink::_linkAdded(struct nlmsghdr *nlp)
struct rtattr *rtap = (struct rtattr *)IFLA_RTA(ifip);
int ifil = RTM_PAYLOAD(nlp);
- const char *ptr;
- unsigned char *ptr2;
+ const char *ptr = (const char *)0;
for(;RTA_OK(rtap, ifil);rtap=RTA_NEXT(rtap, ifil))
{
switch(rtap->rta_type) {
case IFLA_ADDRESS:
- ptr2 = (unsigned char*)RTA_DATA(rtap);
+ ptr = (const char *)RTA_DATA(rtap);
memcpy(mac_bin, ptr, 6);
break;
case IFLA_IFNAME:
- ptr = (const char*)RTA_DATA(rtap);
+ ptr = (const char *)RTA_DATA(rtap);
memcpy(ifname, ptr, strlen(ptr));
break;
case IFLA_MTU:
@@ -394,7 +393,7 @@ void LinuxNetLink::_linkAdded(struct nlmsghdr *nlp)
struct iface_entry &entry = _interfaces[ifip->ifi_index];
entry.index = ifip->ifi_index;
memcpy(entry.ifacename, ifname, sizeof(ifname));
- memcpy(entry.mac, mac, sizeof(mac));
+ snprintf(entry.mac,sizeof(entry.mac),"%.02x:%.02x:%.02x:%.02x:%.02x:%.02x",(unsigned int)mac_bin[0],(unsigned int)mac_bin[1],(unsigned int)mac_bin[2],(unsigned int)mac_bin[3],(unsigned int)mac_bin[4],(unsigned int)mac_bin[5]);
memcpy(entry.mac_bin, mac_bin, 6);
entry.mtu = mtu;
}
@@ -409,14 +408,10 @@ void LinuxNetLink::_linkDeleted(struct nlmsghdr *nlp)
struct rtattr *rtap = (struct rtattr *)IFLA_RTA(ifip);
int ifil = RTM_PAYLOAD(nlp);
- const char *ptr;
- unsigned char *ptr2;
+ const char *ptr = (const char *)0;
for(;RTA_OK(rtap, ifil);rtap=RTA_NEXT(rtap, ifil))
{
switch(rtap->rta_type) {
- case IFLA_ADDRESS:
- ptr2 = (unsigned char*)RTA_DATA(rtap);
- break;
case IFLA_IFNAME:
ptr = (const char*)RTA_DATA(rtap);
memcpy(ifname, ptr, strlen(ptr));