Fix use-after-free in NetworkController::removeInterfaceAddress()

Test: system/netd/tests/runtests.sh
Bug: 111381576
Change-Id: I0ebb9ac758b55f10536fef75f0eb7b69e2feccbc
diff --git a/server/NetworkController.cpp b/server/NetworkController.cpp
index ed5156f..2242d42 100644
--- a/server/NetworkController.cpp
+++ b/server/NetworkController.cpp
@@ -629,7 +629,9 @@
     std::unordered_set<unsigned>& ifindices = ifindicesIter->second;
     if (ifindices.erase(ifindex) > 0) {
         if (ifindices.size() == 0) {
-            mAddressToIfindices.erase(ifindicesIter);
+            mAddressToIfindices.erase(ifindicesIter);  // Invalidates ifindices
+            // The address is no longer configured on any interface.
+            return true;
         }
     } else {
         ALOGE("No record of address %s on interface %u", address, ifindex);