ART: Fix leak in bit_vector
Resizing leaks the original storage. Let the allocator know it's
free.
Bug: 18120044
Change-Id: Ib95a87c3036f36377d64351173f8c04f28855663
diff --git a/runtime/base/bit_vector.cc b/runtime/base/bit_vector.cc
index 5b8b6e2..71dec7a 100644
--- a/runtime/base/bit_vector.cc
+++ b/runtime/base/bit_vector.cc
@@ -320,7 +320,12 @@
memcpy(new_storage, storage_, storage_size_ * kWordBytes);
// Zero out the new storage words.
memset(&new_storage[storage_size_], 0, (new_size - storage_size_) * kWordBytes);
- // TOTO: collect stats on space wasted because of resize.
+ // TODO: collect stats on space wasted because of resize.
+
+ // Free old storage.
+ allocator_->Free(storage_);
+
+ // Set fields.
storage_ = new_storage;
storage_size_ = new_size;
}