diff options
author | Ryan Mitchell <rtmitchell@google.com> | 2020-12-14 20:42:03 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2020-12-14 20:42:03 +0000 |
commit | 314863c132479b108f0ce61a5a753123cd3a15ca (patch) | |
tree | 8c2c62e7f5964b3ed503f1f2c753d0850ac70dec /tools/aapt2/ResourceUtils.cpp | |
parent | 2991744d472491889d9ba465c8f96c1022af5df0 (diff) | |
parent | a45506e6f6619f59ce1ae94b20ad377b86966be0 (diff) |
Merge changes from topic "inc-hard-am"
* changes:
Revert^2 "Cache resolved theme values"
Set resource id correctly when resolve fails
Revert^2 "libandroidfw hardening for IncFs"
idmap2: remove call to obsolete 'idmap2 verify' from valgrind.sh
idmap2: remove the 'scan' command
Diffstat (limited to 'tools/aapt2/ResourceUtils.cpp')
-rw-r--r-- | tools/aapt2/ResourceUtils.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/tools/aapt2/ResourceUtils.cpp b/tools/aapt2/ResourceUtils.cpp index 469128b1e50b..f26e995aa4f9 100644 --- a/tools/aapt2/ResourceUtils.cpp +++ b/tools/aapt2/ResourceUtils.cpp @@ -751,10 +751,12 @@ std::unique_ptr<Item> ParseBinaryResValue(const ResourceType& type, const Config switch (res_value.dataType) { case android::Res_value::TYPE_STRING: { const std::string str = util::GetString(src_pool, data); - const android::ResStringPool_span* spans = src_pool.styleAt(data); + auto spans_result = src_pool.styleAt(data); // Check if the string has a valid style associated with it. - if (spans != nullptr && spans->name.index != android::ResStringPool_span::END) { + if (spans_result.has_value() && + (*spans_result)->name.index != android::ResStringPool_span::END) { + const android::ResStringPool_span* spans = spans_result->unsafe_ptr(); StyleString style_str = {str}; while (spans->name.index != android::ResStringPool_span::END) { style_str.spans.push_back(Span{util::GetString(src_pool, spans->name.index), |