From: Daniel Wagner <[email protected]>
dhcp->nameservers can be NULL. This can be triggered with toggling
fast the technologie.
#0 0x000000000045388a in dhcp_invalidate (dhcp=0x6a3d50, callback=0) at
src/dhcp.c:99
#1 0x00000000004545b8 in remove_network (user_data=0x6a3d50) at src/dhcp.c:434
#2 0x00000031078312c9 in g_hash_table_insert_internal (hash_table=0x6a2e80 =
{...}, key=
0x69d6e0, value=0x69d310, keep_new_key=1) at ghash.c:1000
#3 0x000000000045465a in __connman_dhcp_start (network=0x69d6e0, callback=
0x435c7e <dhcp_callback>) at src/dhcp.c:453
#4 0x0000000000435ee2 in set_connected_dhcp (network=0x69d6e0) at
src/network.c:787
#5 0x00000000004361f6 in set_connected (user_data=0x69d6e0) at
src/network.c:902
#6 0x00000000004363a7 in connman_network_set_connected (network=0x69d6e0,
connected=1)
at src/network.c:972
#7 0x000000000041aff2 in add_network (device=0x69ac10) at
plugins/ethernet.c:109
#8 0x000000000041b137 in ethernet_newlink (flags=69699, change=0,
user_data=0x69ac10)
at plugins/ethernet.c:132
#9 0x00000000004554d7 in process_newlink (type=1, index=2, flags=69699,
change=0, msg=
0x7fffffffd330, bytes=488) at src/rtnl.c:484
#10 0x0000000000456659 in rtnl_newlink (hdr=0x7fffffffd320) at src/rtnl.c:932
#11 0x000000000045752f in rtnl_message (buf=0x7fffffffd320, len=512) at
src/rtnl.c:1372
#12 0x0000000000457670 in netlink_event (chan=0x6a27e0, cond=G_IO_IN, data=0x0)
at src/rtnl.c:1423
#13 0x0000003107841e33 in g_main_dispatch (context=0x6980e0) at gmain.c:2149
#14 g_main_context_dispatch (context=0x6980e0) at gmain.c:2702
#15 0x0000003107842610 in g_main_context_iterate (context=0x6980e0, block=1,
dispatch=1,
self=<value optimized out>) at gmain.c:2780
#16 0x0000003107842c82 in g_main_loop_run (loop=0x6991a0) at gmain.c:2988
#17 0x000000000042ecfa in main (argc=1, argv=0x7fffffffe678) at src/main.c:304
---
src/dhcp.c | 8 +++++---
1 files changed, 5 insertions(+), 3 deletions(-)
diff --git a/src/dhcp.c b/src/dhcp.c
index ab8ee5a..20fc599 100644
--- a/src/dhcp.c
+++ b/src/dhcp.c
@@ -96,9 +96,11 @@ static void dhcp_invalidate(struct connman_dhcp *dhcp,
connman_bool_t callback)
__connman_service_set_pac(service, NULL);
__connman_service_timeserver_remove(service, dhcp->timeserver);
- for (i = 0; dhcp->nameservers[i] != NULL; i++) {
- __connman_service_nameserver_remove(service,
- dhcp->nameservers[i]);
+ if (dhcp->nameservers != NULL) {
+ for (i = 0; dhcp->nameservers[i] != NULL; i++) {
+ __connman_service_nameserver_remove(service,
+ dhcp->nameservers[i]);
+ }
}
__connman_ipconfig_address_remove(ipconfig);
--
1.7.4.4
_______________________________________________
connman mailing list
[email protected]
http://lists.connman.net/listinfo/connman