diff options
author | Jukka Rissanen <jukka.rissanen@linux.intel.com> | 2011-10-12 16:41:46 +0300 |
---|---|---|
committer | Samuel Ortiz <sameo@linux.intel.com> | 2011-10-20 19:27:25 +0200 |
commit | d61fd8af9cf7d2810718880d8313c3ab07baad7a (patch) | |
tree | bb4eeab250e390130304be21cb09b7550a923e85 /src/dhcp.c | |
parent | 04589cdd53183bc2e3102bae95cb558dc29078ee (diff) | |
download | connman-d61fd8af9cf7d2810718880d8313c3ab07baad7a.tar.gz connman-d61fd8af9cf7d2810718880d8313c3ab07baad7a.tar.bz2 connman-d61fd8af9cf7d2810718880d8313c3ab07baad7a.zip |
dhcp: Reference count network properly
Diffstat (limited to 'src/dhcp.c')
-rw-r--r-- | src/dhcp.c | 5 |
1 files changed, 4 insertions, 1 deletions
@@ -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) |