diff options
author | 2023-03-23 00:16:19 +0000 | |
---|---|---|
committer | 2023-03-23 00:16:19 +0000 | |
commit | 9e93ae44eb2f6ddf707d7b0791b07a5794c32200 (patch) | |
tree | fcd4b8014562eeb9dfda8e2a47db05b26235ca71 | |
parent | e261092b80cd9d1cc7c78bdd5fc44038d7b9b758 (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.cpp | 10 |
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 { |