Be sure the current peer is registered and not part of removed peers.
---
src/peer.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/src/peer.c b/src/peer.c
index 145ab78..a2c8eeb 100644
--- a/src/peer.c
+++ b/src/peer.c
@@ -126,12 +126,15 @@ static void append_existing_and_new_peers(gpointer key,
DBusMessageIter *iter = user_data;
DBusMessageIter entry;
+ if (!peer || !peer->registered)
+ return;
+
if (g_hash_table_lookup(peers_notify->add, peer->path)) {
DBG("new %s", peer->path);
append_peer_struct(key, value, user_data);
g_hash_table_remove(peers_notify->add, peer->path);
- } else {
+ } else if (!g_hash_table_lookup(peers_notify->remove, peer->path)) {
DBG("existing %s", peer->path);
dbus_message_iter_open_container(iter, DBUS_TYPE_STRUCT,
--
1.8.5.5
_______________________________________________
connman mailing list
[email protected]
https://lists.connman.net/mailman/listinfo/connman