From 5fdcc5ab4da1efaf08497a749b191b16ed2a9b44 Mon Sep 17 00:00:00 2001 From: Daniel Wagner Date: Thu, 11 Aug 2011 16:56:18 +0200 Subject: [PATCH] session: Fix empty service name (gdb) bt #0 __strlen_sse2 () at ../sysdeps/x86_64/strlen.S:32 #1 0x0000003a5ee2810b in marshal_string (pos_after=0x7fffffffdd80, byte_order=108, value=0x0, insert_at=20, str=0x6bcc50) at dbus-marshal-basic.c:778 #2 _dbus_marshal_write_basic (str=0x6bcc50, insert_at=20, type=, value=, byte_order=108, pos_after=0x7fffffffdd80) at dbus-marshal-basic.c:858 #3 0x0000003a5ee15f29 in _dbus_type_writer_write_basic_no_typecode (value=, type=115, writer=0x7fffffffdd60) at dbus-marshal-recursive.c:1589 #4 _dbus_type_writer_write_basic_no_typecode (value=, type=115, writer= 0x7fffffffdd60) at dbus-marshal-recursive.c:2736 #5 _dbus_type_writer_write_basic (writer=0x7fffffffdd60, type=115, value=) at dbus-marshal-recursive.c:2311 #6 0x0000003a5ee19c1a in dbus_message_iter_append_basic (value=0x7fffffffde58, type=115, iter= 0x7fffffffdd50) at dbus-message.c:2563 #7 dbus_message_iter_append_basic (iter=0x7fffffffdd50, type=115, value=0x7fffffffde58) at dbus-message.c:2506 #8 0x00000000004597ed in connman_dbus_property_append_basic (iter=0x7fffffffddd0, key= 0x479539 "Name", type=115, val=0x7fffffffde58) at src/dbus.c:123 #9 0x000000000045e11b in connman_dbus_dict_append_basic (dict=0x7fffffffdea0, key= 0x479539 "Name", type=115, val=0x7fffffffde58) at ./include/connman/dbus.h:112 #10 0x000000000045e8ab in append_notify (dict=0x7fffffffdea0, session=0x6d4580) at src/session.c:375 #11 0x000000000045ecf6 in session_notify (user_data=0x6d4580) at src/session.c:498 #12 0x000000000045f885 in session_changed (session=0x6d4580, trigger= CONNMAN_SESSION_TRIGGER_SERVICE) at src/session.c:954 #13 0x0000000000460f66 in service_add (service=0x6b4880, name=0x0) at src/session.c:1602 #14 0x0000000000447946 in __connman_notifier_service_add (service=0x6b4880, name=0x0) at src/notifier.c:413 #15 0x0000000000442fa1 in __connman_service_create_from_network (network=0x6b4af0) at src/service.c:4921 #16 0x00000000004332e4 in network_probe (network=0x6b4af0) at src/network.c:167 #17 0x0000000000433d32 in connman_network_set_group (network=0x6b4af0, group= 0x699ae0 "hidden_managed_psk") at src/network.c:544 #18 0x000000000041c4a5 in network_added (supplicant_network=0x69cab0) at plugins/wifi.c:856 #19 0x000000000041d39c in callback_network_added (network=0x69cab0) at gsupplicant/supplicant.c:396 #20 0x000000000041e878 in add_bss_to_network (bss=0x6a68c0) at gsupplicant/supplicant.c:1023 #21 0x000000000041efa1 in bss_property (key=0x0, iter=0x0, user_data=0x6a68c0) at gsupplicant/supplicant.c:1205 #22 0x000000000041f5f9 in interface_bss_added_with_keys (iter=0x7fffffffe300, user_data= 0x6a70a0) at gsupplicant/supplicant.c:1354 #23 0x0000000000420689 in signal_bss_added (path= 0x6b7818 "/fi/w1/wpa_supplicant1/Interfaces/39", iter=0x7fffffffe300) at gsupplicant/supplicant.c:1783 #24 0x0000000000420cf9 in g_supplicant_filter (conn=0x699770, message=0x6a6b20, data=0x0) at gsupplicant/supplicant.c:1998 #25 0x0000003a5ee0f926 in dbus_connection_dispatch (connection=0x699770) at dbus-connection.c:4647 #26 0x000000000040c4ab in message_dispatch (data=0x699770) at gdbus/mainloop.c:80 #27 0x0000003edf64410b in g_timeout_dispatch (source=, callback=, user_data=) at gmain.c:3895 #28 0x0000003edf6427ed in g_main_dispatch (context=0x698100) at gmain.c:2441 #29 g_main_context_dispatch (context=0x698100) at gmain.c:3014 #30 0x0000003edf642fc8 in g_main_context_iterate (context=0x698100, block=, dispatch=1, self=) at gmain.c:3092 #31 0x0000003edf64360d in g_main_loop_run (loop=0x6980c0) at gmain.c:3300 #32 0x000000000042eab6 in main (argc=1, argv=0x7fffffffe6b8) at src/main.c:381 (gdb) f 10 #10 0x000000000045e8ab in append_notify (dict=0x7fffffffdea0, session=0x6d4580) at src/session.c:375 375 connman_dbus_dict_append_basic(dict, "Name", (gdb) l 370 ifname = info->entry->ifname; 371 service = info->entry->service; 372 bearer = info->entry->bearer; 373 } 374 375 connman_dbus_dict_append_basic(dict, "Name", 376 DBUS_TYPE_STRING, 377 &name); 378 379 connman_dbus_dict_append_dict(dict, "IPv4", --- src/session.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/session.c b/src/session.c index f6b9b51..7f26b99 100644 --- a/src/session.c +++ b/src/session.c @@ -998,7 +998,10 @@ static struct service_entry *create_service_entry(struct connman_service *servic entry->reason = CONNMAN_SESSION_REASON_UNKNOWN; entry->state = state; - entry->name = name; + if (name != NULL) + entry->name = name; + else + entry->name = ""; entry->service = service; idx = __connman_service_get_index(entry->service); -- 2.7.4