summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Brandon Liu <branliu@google.com> 2023-03-23 00:16:19 +0000
committer Brandon Liu <branliu@google.com> 2023-03-23 00:16:19 +0000
commit9e93ae44eb2f6ddf707d7b0791b07a5794c32200 (patch)
treefcd4b8014562eeb9dfda8e2a47db05b26235ca71
parente261092b80cd9d1cc7c78bdd5fc44038d7b9b758 (diff)
Fix target path and overlay path loading order from idmap file
Bug: b/267121762 Test: Verified affected atests pass Change-Id: I59d34c6d25a1f47bde1dd00e23e3f4d54127a531
-rw-r--r--libs/androidfw/Idmap.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/libs/androidfw/Idmap.cpp b/libs/androidfw/Idmap.cpp
index 89835742c8ff..5f98b8f8db43 100644
--- a/libs/androidfw/Idmap.cpp
+++ b/libs/androidfw/Idmap.cpp
@@ -294,14 +294,14 @@ std::unique_ptr<LoadedIdmap> LoadedIdmap::Load(StringPiece idmap_path, StringPie
dtohl(header->version), kIdmapCurrentVersion);
return {};
}
+ std::optional<std::string_view> target_path = ReadString(&data_ptr, &data_size, "target path");
+ if (!target_path) {
+ return {};
+ }
std::optional<std::string_view> overlay_path = ReadString(&data_ptr, &data_size, "overlay path");
if (!overlay_path) {
return {};
}
- std::optional<std::string_view> target_path = ReadString(&data_ptr, &data_size, "target path");
- if (!target_path) {
- return {};
- }
if (!ReadString(&data_ptr, &data_size, "target name") ||
!ReadString(&data_ptr, &data_size, "debug info")) {
return {};
@@ -364,7 +364,7 @@ std::unique_ptr<LoadedIdmap> LoadedIdmap::Load(StringPiece idmap_path, StringPie
return std::unique_ptr<LoadedIdmap>(
new LoadedIdmap(std::string(idmap_path), header, data_header, target_entries,
target_inline_entries, target_inline_entry_values, configurations,
- overlay_entries, std::move(idmap_string_pool), *target_path, *overlay_path));
+ overlay_entries, std::move(idmap_string_pool), *overlay_path, *target_path));
}
bool LoadedIdmap::IsUpToDate() const {