Merge "MemoryDealer: Avoid using invalid iterator" am: a1a91eae02
am: 5b71204ee8
Change-Id: Ibfc9a9070802d5feb87138cbe42ec25326fb643a
diff --git a/libhidlcache/MemoryDealer.cpp b/libhidlcache/MemoryDealer.cpp
index e0e18c7..e5686a7 100644
--- a/libhidlcache/MemoryDealer.cpp
+++ b/libhidlcache/MemoryDealer.cpp
@@ -221,8 +221,9 @@
if (p->free || !cur->size) {
freed = p;
p->size += cur->size;
- mList.erase(pos);
+ pos = mList.erase(pos);
delete cur;
+ if (pos == mList.end()) break;
}
}
if (++pos == mList.end()) break;