Use valid pointer for app_main_namespace_
Test: device boots
Test: atest libnativeloader_test
Change-Id: I5c20f7f5c65a707fbeacf644e24b95ffab370cae
diff --git a/libnativeloader/library_namespaces.cpp b/libnativeloader/library_namespaces.cpp
index 891d75e..b727651 100644
--- a/libnativeloader/library_namespaces.cpp
+++ b/libnativeloader/library_namespaces.cpp
@@ -303,12 +303,12 @@
}
}
- namespaces_.push_back(std::make_pair(env->NewWeakGlobalRef(class_loader), *app_ns));
+ auto& emplaced = namespaces_.emplace_back(
+ std::make_pair(env->NewWeakGlobalRef(class_loader), *app_ns));
if (is_main_classloader) {
- app_main_namespace_ = &(*app_ns);
+ app_main_namespace_ = &emplaced.second;
}
-
- return &(namespaces_.back().second);
+ return &emplaced.second;
}
NativeLoaderNamespace* LibraryNamespaces::FindNamespaceByClassLoader(JNIEnv* env,