Hi,

I was trying to find the memory leak in DHCP and accidentally
opened a can of worms which resulted some important fixes
how DHCP handles the network hash.

The patch 1 is just a indentation fix which seems to be a left
over when we did the big boolean conversion patchset.

In patch 2, the DHCP cleanup is now done after network has been
cleaned. This is needed as the network will take down network
connections and call __connman_dhcp_stop() we must not cleanup
the network_table in dhcp.c until the connections are down.

The actual memory leak is fixed by patch 3.

The patch 4 fixes the network_table hash manipulation. The patch
removes the remove_network() function that was used in hash cleanup.
We need to do the hash cleanup manually as we otherwise cannot
guarantee proper ordering of calls when unreferencing the network.


Cheers,
Jukka


Jukka Rissanen (4):
  dhcp: Indent fixes
  main: DHCP cleanup done too early
  dhcp: Memory leak
  dhcp: Network hash table fixes

 src/dhcp.c | 43 ++++++++++++++++++++++++-------------------
 src/main.c |  2 +-
 2 files changed, 25 insertions(+), 20 deletions(-)

-- 
1.8.3.1

_______________________________________________
connman mailing list
[email protected]
https://lists.connman.net/mailman/listinfo/connman

Reply via email to