Support resetting connections tied to any nonexistent address.
Bug: 15414453
Change-Id: Ibf1f052e12b88838a328148e25817a96f10d50f5
diff --git a/libnetutils/ifc_utils.c b/libnetutils/ifc_utils.c
index 3f6c6b5..913f51e 100644
--- a/libnetutils/ifc_utils.c
+++ b/libnetutils/ifc_utils.c
@@ -599,14 +599,16 @@
{
#ifdef HAVE_ANDROID_OS
int result, success;
- in_addr_t myaddr;
+ in_addr_t myaddr = 0;
struct ifreq ifr;
struct in6_ifreq ifr6;
if (reset_mask & RESET_IPV4_ADDRESSES) {
/* IPv4. Clear connections on the IP address. */
ifc_init();
- ifc_get_info(ifname, &myaddr, NULL, NULL);
+ if (!(reset_mask & RESET_IGNORE_INTERFACE_ADDRESS)) {
+ ifc_get_info(ifname, &myaddr, NULL, NULL);
+ }
ifc_init_ifr(ifname, &ifr);
init_sockaddr_in(&ifr.ifr_addr, myaddr);
result = ioctl(ifc_ctl_sock, SIOCKILLADDR, &ifr);