summaryrefslogtreecommitdiff
path: root/runtime/class_linker.cc
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/class_linker.cc')
-rw-r--r--runtime/class_linker.cc10
1 files changed, 9 insertions, 1 deletions
diff --git a/runtime/class_linker.cc b/runtime/class_linker.cc
index 009d705caf..b14eaae51b 100644
--- a/runtime/class_linker.cc
+++ b/runtime/class_linker.cc
@@ -2240,8 +2240,16 @@ bool ClassLinker::AddImageSpace(gc::space::ImageSpace* space,
return false;
}
+ const char* oat_apex_versions =
+ oat_header->GetStoreValueByKeyUnsafe(OatHeader::kApexVersionsKey);
+ if (oat_apex_versions == nullptr) {
+ *error_msg = StringPrintf("Missing apex versions in special root in runtime image '%s'",
+ space->GetImageLocation().c_str());
+ return false;
+ }
+
// Validate the apex versions.
- if (!gc::space::ImageSpace::ValidateApexVersions(*oat_header,
+ if (!gc::space::ImageSpace::ValidateApexVersions(oat_apex_versions,
runtime->GetApexVersions(),
space->GetImageLocation(),
error_msg)) {