recovery: Fix the crash caused by StartIteration

In the new version of libziparchive, the default values ​​of the optional_prefix and optional_suffix parameters of the StartIteration function are changed to empty strings, and nullptr is no longer detected.

Change-Id: I66ee58a9515586700b10a3d5aa5b780a6207b33c
This commit is contained in:
sekaiacg
2021-12-11 09:28:55 +08:00
committed by bigbiff
parent cd1f4cac6f
commit a202b5aa32
3 changed files with 3 additions and 3 deletions
+1 -1
View File
@@ -56,7 +56,7 @@ bool ExtractPackageRecursive(ZipArchiveHandle zip, const std::string& zip_path,
}
const std::string zip_prefix(prefix_path.c_str());
int ret = StartIteration(zip, &cookie, zip_prefix, nullptr);
int ret = StartIteration(zip, &cookie, zip_prefix);
if (ret != 0) {
LOG(ERROR) << "failed to start iterating zip entries.";
+1 -1
View File
@@ -56,7 +56,7 @@ bool ExtractPackageRecursive(ZipArchiveHandle zip, const std::string& zip_path,
}
const ZipString zip_prefix(prefix_path.c_str());
int ret = StartIteration(zip, &cookie, &zip_prefix, nullptr);
int ret = StartIteration(zip, &cookie, &zip_prefix);
if (ret != 0) {
LOG(ERROR) << "failed to start iterating zip entries.";
return false;
+1 -1
View File
@@ -302,7 +302,7 @@ bool verify_package_compatibility(ZipArchiveHandle zw) {
// Iterate all the entries inside COMPATIBILITY_ZIP_ENTRY and read the contents.
void* cookie;
ret = StartIteration(zip_handle, &cookie, nullptr, nullptr);
ret = StartIteration(zip_handle, &cookie);
if (ret != 0) {
printf("Failed to start iterating zip entries: %s\n", ErrorCodeString(ret));
CloseArchive(zip_handle);