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:
+1
-1
@@ -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.";
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user