diff options
author | Elliott Hughes <enh@google.com> | 2019-05-07 01:45:16 +0200 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2019-05-07 01:45:16 +0200 |
commit | 9423d2f6b7efcc94679ecdda5c5ca15039407d6b (patch) | |
tree | 1284c020d0c3ed532f72ee1702b424339016871c | |
parent | Merge "Disable libbootloader_message for darwin" (diff) | |
parent | Track libziparchive API change. (diff) | |
download | android_bootable_recovery-9423d2f6b7efcc94679ecdda5c5ca15039407d6b.tar android_bootable_recovery-9423d2f6b7efcc94679ecdda5c5ca15039407d6b.tar.gz android_bootable_recovery-9423d2f6b7efcc94679ecdda5c5ca15039407d6b.tar.bz2 android_bootable_recovery-9423d2f6b7efcc94679ecdda5c5ca15039407d6b.tar.lz android_bootable_recovery-9423d2f6b7efcc94679ecdda5c5ca15039407d6b.tar.xz android_bootable_recovery-9423d2f6b7efcc94679ecdda5c5ca15039407d6b.tar.zst android_bootable_recovery-9423d2f6b7efcc94679ecdda5c5ca15039407d6b.zip |
-rw-r--r-- | install/install.cpp | 15 | ||||
-rw-r--r-- | install/wipe_device.cpp | 3 | ||||
-rw-r--r-- | tests/unit/install_test.cpp | 3 | ||||
-rw-r--r-- | tests/unit/package_test.cpp | 5 | ||||
-rw-r--r-- | tests/unit/zip_test.cpp | 3 | ||||
-rw-r--r-- | updater/blockimg.cpp | 4 | ||||
-rw-r--r-- | updater/install.cpp | 6 | ||||
-rw-r--r-- | updater/updater.cpp | 3 |
8 files changed, 15 insertions, 27 deletions
diff --git a/install/install.cpp b/install/install.cpp index 5d514fa23..d62bffc59 100644 --- a/install/install.cpp +++ b/install/install.cpp @@ -73,9 +73,8 @@ bool ReadMetadataFromPackage(ZipArchiveHandle zip, std::map<std::string, std::st CHECK(metadata != nullptr); static constexpr const char* METADATA_PATH = "META-INF/com/android/metadata"; - ZipString path(METADATA_PATH); ZipEntry entry; - if (FindEntry(zip, path, &entry) != 0) { + if (FindEntry(zip, METADATA_PATH, &entry) != 0) { LOG(ERROR) << "Failed to find " << METADATA_PATH; return false; } @@ -236,9 +235,8 @@ bool SetUpAbUpdateCommands(const std::string& package, ZipArchiveHandle zip, int // For A/B updates we extract the payload properties to a buffer and obtain the RAW payload offset // in the zip file. static constexpr const char* AB_OTA_PAYLOAD_PROPERTIES = "payload_properties.txt"; - ZipString property_name(AB_OTA_PAYLOAD_PROPERTIES); ZipEntry properties_entry; - if (FindEntry(zip, property_name, &properties_entry) != 0) { + if (FindEntry(zip, AB_OTA_PAYLOAD_PROPERTIES, &properties_entry) != 0) { LOG(ERROR) << "Failed to find " << AB_OTA_PAYLOAD_PROPERTIES; return false; } @@ -252,9 +250,8 @@ bool SetUpAbUpdateCommands(const std::string& package, ZipArchiveHandle zip, int } static constexpr const char* AB_OTA_PAYLOAD = "payload.bin"; - ZipString payload_name(AB_OTA_PAYLOAD); ZipEntry payload_entry; - if (FindEntry(zip, payload_name, &payload_entry) != 0) { + if (FindEntry(zip, AB_OTA_PAYLOAD, &payload_entry) != 0) { LOG(ERROR) << "Failed to find " << AB_OTA_PAYLOAD; return false; } @@ -275,9 +272,8 @@ bool SetUpNonAbUpdateCommands(const std::string& package, ZipArchiveHandle zip, // In non-A/B updates we extract the update binary from the package. static constexpr const char* UPDATE_BINARY_NAME = "META-INF/com/google/android/update-binary"; - ZipString binary_name(UPDATE_BINARY_NAME); ZipEntry binary_entry; - if (FindEntry(zip, binary_name, &binary_entry) != 0) { + if (FindEntry(zip, UPDATE_BINARY_NAME, &binary_entry) != 0) { LOG(ERROR) << "Failed to find update binary " << UPDATE_BINARY_NAME; return false; } @@ -508,9 +504,8 @@ bool verify_package_compatibility(ZipArchiveHandle package_zip) { LOG(INFO) << "Verifying package compatibility..."; static constexpr const char* COMPATIBILITY_ZIP_ENTRY = "compatibility.zip"; - ZipString compatibility_entry_name(COMPATIBILITY_ZIP_ENTRY); ZipEntry compatibility_entry; - if (FindEntry(package_zip, compatibility_entry_name, &compatibility_entry) != 0) { + if (FindEntry(package_zip, COMPATIBILITY_ZIP_ENTRY, &compatibility_entry) != 0) { LOG(INFO) << "Package doesn't contain " << COMPATIBILITY_ZIP_ENTRY << " entry"; return true; } diff --git a/install/wipe_device.cpp b/install/wipe_device.cpp index 5a9b512c1..89d5d31a3 100644 --- a/install/wipe_device.cpp +++ b/install/wipe_device.cpp @@ -49,9 +49,8 @@ std::vector<std::string> GetWipePartitionList(Package* wipe_package) { constexpr char RECOVERY_WIPE_ENTRY_NAME[] = "recovery.wipe"; std::string partition_list_content; - ZipString path(RECOVERY_WIPE_ENTRY_NAME); ZipEntry entry; - if (FindEntry(zip, path, &entry) == 0) { + if (FindEntry(zip, RECOVERY_WIPE_ENTRY_NAME, &entry) == 0) { uint32_t length = entry.uncompressed_length; partition_list_content = std::string(length, '\0'); if (auto err = ExtractToMemory( diff --git a/tests/unit/install_test.cpp b/tests/unit/install_test.cpp index c1d77fb7b..4ec409908 100644 --- a/tests/unit/install_test.cpp +++ b/tests/unit/install_test.cpp @@ -271,9 +271,8 @@ static void VerifyAbUpdateCommands(const std::string& serialno, bool success = t ZipArchiveHandle zip; ASSERT_EQ(0, OpenArchive(temp_file.path, &zip)); - ZipString payload_name("payload.bin"); ZipEntry payload_entry; - ASSERT_EQ(0, FindEntry(zip, payload_name, &payload_entry)); + ASSERT_EQ(0, FindEntry(zip, "payload.bin", &payload_entry)); std::map<std::string, std::string> metadata; ASSERT_TRUE(ReadMetadataFromPackage(zip, &metadata)); diff --git a/tests/unit/package_test.cpp b/tests/unit/package_test.cpp index a735a699e..5e31f7fa5 100644 --- a/tests/unit/package_test.cpp +++ b/tests/unit/package_test.cpp @@ -105,10 +105,9 @@ TEST_F(PackageTest, GetZipArchiveHandle_extract_entry) { ASSERT_TRUE(zip); // Check that we can extract one zip entry. - std::string entry_name = "dir1/file3.txt"; - ZipString path(entry_name.c_str()); + std::string_view entry_name = "dir1/file3.txt"; ZipEntry entry; - ASSERT_EQ(0, FindEntry(zip, path, &entry)); + ASSERT_EQ(0, FindEntry(zip, entry_name, &entry)); std::vector<uint8_t> extracted(entry_name.size()); ASSERT_EQ(0, ExtractToMemory(zip, &entry, extracted.data(), extracted.size())); diff --git a/tests/unit/zip_test.cpp b/tests/unit/zip_test.cpp index dfe617ebe..0753d64e1 100644 --- a/tests/unit/zip_test.cpp +++ b/tests/unit/zip_test.cpp @@ -37,10 +37,9 @@ TEST(ZipTest, OpenFromMemory) { ASSERT_EQ(0, OpenArchiveFromMemory(map.addr, map.length, zip_path.c_str(), &handle)); static constexpr const char* BINARY_PATH = "META-INF/com/google/android/update-binary"; - ZipString binary_path(BINARY_PATH); ZipEntry binary_entry; // Make sure the package opens correctly and its entry can be read. - ASSERT_EQ(0, FindEntry(handle, binary_path, &binary_entry)); + ASSERT_EQ(0, FindEntry(handle, BINARY_PATH, &binary_entry)); TemporaryFile tmp_binary; ASSERT_NE(-1, tmp_binary.fd); diff --git a/updater/blockimg.cpp b/updater/blockimg.cpp index 07c3c7b52..b008c28b4 100644 --- a/updater/blockimg.cpp +++ b/updater/blockimg.cpp @@ -1680,7 +1680,7 @@ static Value* PerformBlockImageUpdate(const char* name, State* state, return StringValue(""); } - ZipString path_data(patch_data_fn->data.c_str()); + std::string_view path_data(patch_data_fn->data); ZipEntry patch_entry; if (FindEntry(za, path_data, &patch_entry) != 0) { LOG(ERROR) << name << "(): no file \"" << patch_data_fn->data << "\" in package"; @@ -1688,7 +1688,7 @@ static Value* PerformBlockImageUpdate(const char* name, State* state, } params.patch_start = ui->package_zip_addr + patch_entry.offset; - ZipString new_data(new_data_fn->data.c_str()); + std::string_view new_data(new_data_fn->data); ZipEntry new_entry; if (FindEntry(za, new_data, &new_entry) != 0) { LOG(ERROR) << name << "(): no file \"" << new_data_fn->data << "\" in package"; diff --git a/updater/install.cpp b/updater/install.cpp index 8eba64f5d..c30f63960 100644 --- a/updater/install.cpp +++ b/updater/install.cpp @@ -130,9 +130,8 @@ Value* PackageExtractFileFn(const char* name, State* state, const std::string& dest_path = args[1]; ZipArchiveHandle za = static_cast<UpdaterInfo*>(state->cookie)->package_zip; - ZipString zip_string_path(zip_path.c_str()); ZipEntry entry; - if (FindEntry(za, zip_string_path, &entry) != 0) { + if (FindEntry(za, zip_path, &entry) != 0) { LOG(ERROR) << name << ": no " << zip_path << " in package"; return StringValue(""); } @@ -174,9 +173,8 @@ Value* PackageExtractFileFn(const char* name, State* state, const std::string& zip_path = args[0]; ZipArchiveHandle za = static_cast<UpdaterInfo*>(state->cookie)->package_zip; - ZipString zip_string_path(zip_path.c_str()); ZipEntry entry; - if (FindEntry(za, zip_string_path, &entry) != 0) { + if (FindEntry(za, zip_path, &entry) != 0) { return ErrorAbort(state, kPackageExtractFileFailure, "%s(): no %s in package", name, zip_path.c_str()); } diff --git a/updater/updater.cpp b/updater/updater.cpp index 7b5a3f938..a020699ca 100644 --- a/updater/updater.cpp +++ b/updater/updater.cpp @@ -101,9 +101,8 @@ int main(int argc, char** argv) { return 3; } - ZipString script_name(SCRIPT_NAME); ZipEntry script_entry; - int find_err = FindEntry(za, script_name, &script_entry); + int find_err = FindEntry(za, SCRIPT_NAME, &script_entry); if (find_err != 0) { LOG(ERROR) << "failed to find " << SCRIPT_NAME << " in " << package_filename << ": " << ErrorCodeString(find_err); |