From 853152cb9cc1db53de94f4afcdf9cd16ae299ddc Mon Sep 17 00:00:00 2001 From: Derek Dai Date: Wed, 4 Jan 2017 13:52:04 +0800 Subject: [PATCH] miracle-wifid: remove duplicated link & peer dbus nodes by checking prefix --- src/wifi/wifid-dbus.c | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/src/wifi/wifid-dbus.c b/src/wifi/wifid-dbus.c index 9bd2ca7..a0d9fa5 100644 --- a/src/wifi/wifid-dbus.c +++ b/src/wifi/wifid-dbus.c @@ -830,12 +830,16 @@ static int manager_dbus_enumerate(sd_bus *bus, char **nodes, *node; int r; + if(strcmp("/org/freedesktop/miracle/wifi", path)) { + return 0; + } + peer_cnt = 0; MANAGER_FOREACH_LINK(l, m) if (l->public) peer_cnt += l->peer_cnt; - nodes = malloc(sizeof(*nodes) * (m->link_cnt + peer_cnt + 2)); + nodes = malloc(sizeof(*nodes) * (m->link_cnt + peer_cnt + 1)); if (!nodes) return log_ENOMEM(); @@ -874,13 +878,6 @@ static int manager_dbus_enumerate(sd_bus *bus, } } - node = strdup("/org/freedesktop/miracle/wifi"); - if (!node) { - r = log_ENOMEM(); - goto error; - } - - nodes[i++] = node; nodes[i] = NULL; *out = nodes;