diff options
author | Jaehyun Kim <jeik01.kim@samsung.com> | 2017-09-19 19:59:52 +0900 |
---|---|---|
committer | Jaehyun Kim <jeik01.kim@samsung.com> | 2017-09-19 20:07:28 +0900 |
commit | 4541295e8391b08d9922548f27e4a8836280fd45 (patch) | |
tree | 5cc47cda30a9bc6c85d88895f1a82e3b547e54f0 | |
parent | 2d1923155d6c76c04af6b10efe6b0879258f0121 (diff) | |
download | connman-4541295e8391b08d9922548f27e4a8836280fd45.tar.gz connman-4541295e8391b08d9922548f27e4a8836280fd45.tar.bz2 connman-4541295e8391b08d9922548f27e4a8836280fd45.zip |
[Upstream] ipconfig: Ensure ifname is not NULL when setting IPv6 statesubmit/tizen/20170920.020838accepted/tizen/unified/20170921.072215
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 <jeik01.kim@samsung.com>
-rwxr-xr-x | src/ipconfig.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/ipconfig.c b/src/ipconfig.c index 700384fe..ded1c11c 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); |