From: Guoqiang Liu <[email protected]>

peer->groups store group's path, not GSupplicantGroup, so get it
from group_mapping
---
 gsupplicant/supplicant.c |    6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/gsupplicant/supplicant.c b/gsupplicant/supplicant.c
index 94bf611..a76ee2e 100644
--- a/gsupplicant/supplicant.c
+++ b/gsupplicant/supplicant.c
@@ -1116,7 +1116,11 @@ bool g_supplicant_peer_is_client(GSupplicantPeer *peer)
                return false;
 
        for (list = peer->groups; list; list = list->next) {
-               group = list->data;
+               const char *path = list->data;
+
+               group = g_hash_table_lookup(group_mapping, path);
+               if (!group)
+                       continue;
 
                if (group->role != G_SUPPLICANT_GROUP_ROLE_CLIENT ||
                                group->orig_interface != peer->interface)
-- 
1.7.9.5

_______________________________________________
connman mailing list
[email protected]
https://lists.connman.net/mailman/listinfo/connman

Reply via email to