summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--system-linux.c3
-rw-r--r--ubus.c2
-rw-r--r--utils.h2
3 files changed, 3 insertions, 4 deletions
diff --git a/system-linux.c b/system-linux.c
index 2b52cea..a6734a4 100644
--- a/system-linux.c
+++ b/system-linux.c
@@ -374,7 +374,6 @@ static int system_get_neigh6reachabletime(struct device *dev, char *buf, const s
static int cb_rtnl_event(struct nl_msg *msg, void *arg)
{
struct nlmsghdr *nh = nlmsg_hdr(msg);
- struct ifinfomsg *ifi = NLMSG_DATA(nh);
struct nlattr *nla[__IFLA_MAX];
int link_state = 0;
char buf[10];
@@ -382,7 +381,7 @@ static int cb_rtnl_event(struct nl_msg *msg, void *arg)
if (nh->nlmsg_type != RTM_NEWLINK)
goto out;
- nlmsg_parse(nh, sizeof(*ifi), nla, __IFLA_MAX - 1, NULL);
+ nlmsg_parse(nh, sizeof(struct ifinfomsg), nla, __IFLA_MAX - 1, NULL);
if (!nla[IFLA_IFNAME])
goto out;
diff --git a/ubus.c b/ubus.c
index 161fbe7..422b652 100644
--- a/ubus.c
+++ b/ubus.c
@@ -687,7 +687,7 @@ netifd_dump_status(struct interface *iface)
blobmsg_add_string(&b, "proto", iface->proto_handler->name);
dev = iface->main_dev.dev;
- if (dev && !dev->hidden &&
+ if (dev && !dev->hidden && iface->proto_handler &&
!(iface->proto_handler->flags & PROTO_FLAG_NODEV))
blobmsg_add_string(&b, "device", dev->ifname);
diff --git a/utils.h b/utils.h
index 7973b6f..301a075 100644
--- a/utils.h
+++ b/utils.h
@@ -99,7 +99,7 @@ static inline int fls(int x)
r -= 2;
}
if (!(x & 0x80000000u)) {
- x <<= 1;
+ //x <<= 1;
r -= 1;
}
return r;