From d61fd8af9cf7d2810718880d8313c3ab07baad7a Mon Sep 17 00:00:00 2001 From: Jukka Rissanen Date: Wed, 12 Oct 2011 16:41:46 +0300 Subject: dhcp: Reference count network properly --- src/dhcp.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src/dhcp.c') diff --git a/src/dhcp.c b/src/dhcp.c index 10e14031..c6df4fa1 100644 --- a/src/dhcp.c +++ b/src/dhcp.c @@ -468,6 +468,8 @@ int __connman_dhcp_start(struct connman_network *network, dhcp_cb callback) dhcp->network = network; dhcp->callback = callback; + connman_network_ref(network); + g_hash_table_replace(network_table, network, dhcp); return dhcp_request(dhcp); @@ -480,7 +482,8 @@ void __connman_dhcp_stop(struct connman_network *network) if (network_table == NULL) return; - g_hash_table_remove(network_table, network); + if (g_hash_table_remove(network_table, network) == TRUE) + connman_network_unref(network); } int __connman_dhcp_init(void) -- cgit v1.2.3