Merge "MemoryDealer: Avoid using invalid iterator" am: a1a91eae02 am: 5b71204ee8
am: 7806b628ba
Change-Id: Ib967cb121bcd0672fe2997709f8cb69866d9e399
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;