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 f978278995)
This commit is contained in:
@@ -544,7 +544,6 @@ bool verify_package_compatibility(ZipArchiveHandle package_zip) {
|
||||
}
|
||||
compatibility_info.emplace_back(std::move(content));
|
||||
}
|
||||
EndIteration(cookie);
|
||||
CloseArchive(zip_handle);
|
||||
|
||||
// TODO(b/36814503): Enable the actual verification when VintfObject::CheckCompatibility() lands.
|
||||
|
||||
Reference in New Issue
Block a user