summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJiyong Park <jiyong@google.com>2019-05-18 02:20:57 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2019-05-18 02:20:57 +0000
commit724cbb080d594b8549b93a4ea32e83644930a7af (patch)
treeae2e7f7695e4bc18880a9d83c4f4e5b02e93d586
parent6efb8e77548ba1e17a7b1bd11b923c74986a4d67 (diff)
parentd970ccb56e399e916b8a660920df3d873c25facb (diff)
Merge "Fix nullpointer dereference in libnativeloader"
-rw-r--r--libnativeloader/native_loader_namespace.cpp7
-rw-r--r--libnativeloader/native_loader_namespace.h2
2 files changed, 4 insertions, 5 deletions
diff --git a/libnativeloader/native_loader_namespace.cpp b/libnativeloader/native_loader_namespace.cpp
index 90f730c9b..58ac6869b 100644
--- a/libnativeloader/native_loader_namespace.cpp
+++ b/libnativeloader/native_loader_namespace.cpp
@@ -115,15 +115,14 @@ bool NativeLoaderNamespace::Link(const NativeLoaderNamespace& target,
}
}
-void* NativeLoaderNamespace::Load(const std::string& lib_name) const {
+void* NativeLoaderNamespace::Load(const char* lib_name) const {
if (!IsBridged()) {
android_dlextinfo extinfo;
extinfo.flags = ANDROID_DLEXT_USE_NAMESPACE;
extinfo.library_namespace = this->ToRawAndroidNamespace();
- return android_dlopen_ext(lib_name.c_str(), RTLD_NOW, &extinfo);
+ return android_dlopen_ext(lib_name, RTLD_NOW, &extinfo);
} else {
- return NativeBridgeLoadLibraryExt(lib_name.c_str(), RTLD_NOW,
- this->ToRawNativeBridgeNamespace());
+ return NativeBridgeLoadLibraryExt(lib_name, RTLD_NOW, this->ToRawNativeBridgeNamespace());
}
}
diff --git a/libnativeloader/native_loader_namespace.h b/libnativeloader/native_loader_namespace.h
index 1575f8ccb..71e42477a 100644
--- a/libnativeloader/native_loader_namespace.h
+++ b/libnativeloader/native_loader_namespace.h
@@ -52,7 +52,7 @@ struct NativeLoaderNamespace {
}
bool Link(const NativeLoaderNamespace& target, const std::string& shared_libs) const;
- void* Load(const std::string& lib_name) const;
+ void* Load(const char* lib_name) const;
char* GetError() const;
static NativeLoaderNamespace GetExportedNamespace(const std::string& name, bool is_bridged);