From: Daniel Wagner <[email protected]>
When an element is removed from the list, the element will be passed
to destroy_service_entry() which expects only elements of type struct
service_entry.
---
src/session.c | 8 +++++++-
1 files changed, 7 insertions(+), 1 deletions(-)
diff --git a/src/session.c b/src/session.c
index 99fdf3b..f17e284 100644
--- a/src/session.c
+++ b/src/session.c
@@ -1572,6 +1572,7 @@ static void service_add(struct connman_service *service,
GSequenceIter *iter_service_list;
gpointer key, value;
struct connman_session *session;
+ struct service_entry *entry;
DBG("service %p", service);
@@ -1583,9 +1584,14 @@ static void service_add(struct connman_service *service,
if (service_match(session, service) == FALSE)
continue;
+ entry = create_service_entry(service, name,
+ CONNMAN_SERVICE_STATE_IDLE);
+ if (entry == NULL)
+ continue;
+
iter_service_list =
g_sequence_insert_sorted(session->service_list,
- service, sort_services,
+ entry, sort_services,
session);
g_hash_table_replace(session->service_hash, service,
--
1.7.6
_______________________________________________
connman mailing list
[email protected]
http://lists.connman.net/listinfo/connman