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;