Fix the double free in verify_package_compatibility().
"""
void* cookie;
std::unique_ptr<void, decltype(&EndIteration)> guard(cookie, EndIteration);
...
EndIteration(cookie);
"""
The above pattern is buggy that frees 'cookie' twice.
Bug: 37413730
Test: Build new recovery and adb sideload a previously crashed package
that contains 'compatibility.zip'.
Change-Id: I183c33827fb28a438ebaedda446e84cabe7cb92d
(cherry picked from commit f978278995d02a58e311fe017bdbb2c3702dd3bc)
diff --git a/install.cpp b/install.cpp
index b4b869b..6dcd356 100644
--- a/install.cpp
+++ b/install.cpp
@@ -544,7 +544,6 @@
}
compatibility_info.emplace_back(std::move(content));
}
- EndIteration(cookie);
CloseArchive(zip_handle);
// TODO(b/36814503): Enable the actual verification when VintfObject::CheckCompatibility() lands.