diff --git a/libnativeloader/native_loader_namespace.cpp b/libnativeloader/native_loader_namespace.cpp index 4b0211670..4add6e690 100644 --- a/libnativeloader/native_loader_namespace.cpp +++ b/libnativeloader/native_loader_namespace.cpp @@ -69,10 +69,18 @@ Result NativeLoaderNamespace::GetExportedNamespace(const // "default" always exists. Result NativeLoaderNamespace::GetPlatformNamespace(bool is_bridged) { auto ns = GetExportedNamespace(kPlatformNamespaceName, is_bridged); - if (!ns) { - ns = GetExportedNamespace(kDefaultNamespaceName, is_bridged); + if (ns) return ns; + ns = GetExportedNamespace(kDefaultNamespaceName, is_bridged); + if (ns) return ns; + + // If nothing is found, return NativeLoaderNamespace constructed from nullptr. + // nullptr also means default namespace to the linker. + if (!is_bridged) { + return NativeLoaderNamespace(kDefaultNamespaceName, static_cast(nullptr)); + } else { + return NativeLoaderNamespace(kDefaultNamespaceName, + static_cast(nullptr)); } - return ns; } Result NativeLoaderNamespace::Create(