From: Jaehyun Kim Date: Tue, 19 Sep 2017 10:59:52 +0000 (+0900) Subject: [Upstream] ipconfig: Ensure ifname is not NULL when setting IPv6 state X-Git-Tag: accepted/tizen/unified/20170921.072215^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F24%2F151024%2F1;p=platform%2Fupstream%2Fconnman.git [Upstream] ipconfig: Ensure ifname is not NULL when setting IPv6 state This is a quick fix for the issue where removal of an interface may cause IPv6 to be disabled/enabled on other interfaces. When removing an ipdevice in free_ipdevice(), it is ensured that the ifname (which we get from connman_inet_ifname()) is not NULL, before invoking set_ipv6_state(). If a NULL ifname is passed into set_ipv6_state(), it will apply the change to all interfaces instead of the intended one. Change-Id: I2b0b6494e3c2d4a80e7a8e2012f274987f6e8142 Signed-off-by: Jaehyun Kim --- diff --git a/src/ipconfig.c b/src/ipconfig.c index 700384f..ded1c11 100755 --- a/src/ipconfig.c +++ b/src/ipconfig.c @@ -404,8 +404,10 @@ static void free_ipdevice(gpointer data) g_free(ipdevice->address); - set_ipv6_state(ifname, ipdevice->ipv6_enabled); - set_ipv6_privacy(ifname, ipdevice->ipv6_privacy); + if (ifname) { + set_ipv6_state(ifname, ipdevice->ipv6_enabled); + set_ipv6_privacy(ifname, ipdevice->ipv6_privacy); + } g_free(ifname); g_free(ipdevice);