summaryrefslogtreecommitdiff
path: root/server/NetworkController.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'server/NetworkController.cpp')
-rw-r--r--server/NetworkController.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/server/NetworkController.cpp b/server/NetworkController.cpp
index ed5156f6..2242d42e 100644
--- a/server/NetworkController.cpp
+++ b/server/NetworkController.cpp
@@ -629,7 +629,9 @@ bool NetworkController::removeInterfaceAddress(unsigned ifindex, const char* add
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);