diff options
| -rw-r--r-- | libs/graphicsenv/include/graphicsenv/GraphicsEnv.h | 2 | ||||
| -rw-r--r-- | vulkan/libvulkan/layers_extensions.cpp | 13 |
2 files changed, 8 insertions, 7 deletions
diff --git a/libs/graphicsenv/include/graphicsenv/GraphicsEnv.h b/libs/graphicsenv/include/graphicsenv/GraphicsEnv.h index 17e8f6ba47..784e2c8903 100644 --- a/libs/graphicsenv/include/graphicsenv/GraphicsEnv.h +++ b/libs/graphicsenv/include/graphicsenv/GraphicsEnv.h @@ -23,7 +23,7 @@ struct android_namespace_t; namespace android { -class NativeLoaderNamespace; +struct NativeLoaderNamespace; class GraphicsEnv { public: diff --git a/vulkan/libvulkan/layers_extensions.cpp b/vulkan/libvulkan/layers_extensions.cpp index 009b257029..ba4cf00451 100644 --- a/vulkan/libvulkan/layers_extensions.cpp +++ b/vulkan/libvulkan/layers_extensions.cpp @@ -139,12 +139,12 @@ bool LayerLibrary::Open() { auto app_namespace = android::GraphicsEnv::getInstance().getAppNamespace(); if (app_namespace && !android::base::StartsWith(path_, kSystemLayerLibraryDir)) { - std::string error_msg; - dlhandle_ = OpenNativeLibrary( + char* error_msg = nullptr; + dlhandle_ = OpenNativeLibraryInNamespace( app_namespace, path_.c_str(), &native_bridge_, &error_msg); if (!dlhandle_) { - ALOGE("failed to load layer library '%s': %s", path_.c_str(), - error_msg.c_str()); + ALOGE("failed to load layer library '%s': %s", path_.c_str(), error_msg); + android::NativeLoaderFreeErrorMessage(error_msg); refcount_ = 0; return false; } @@ -165,9 +165,10 @@ void LayerLibrary::Close() { std::lock_guard<std::mutex> lock(mutex_); if (--refcount_ == 0) { ALOGV("closing layer library '%s'", path_.c_str()); - std::string error_msg; + char* error_msg = nullptr; if (!android::CloseNativeLibrary(dlhandle_, native_bridge_, &error_msg)) { - ALOGE("failed to unload library '%s': %s", path_.c_str(), error_msg.c_str()); + ALOGE("failed to unload library '%s': %s", path_.c_str(), error_msg); + android::NativeLoaderFreeErrorMessage(error_msg); refcount_++; } else { dlhandle_ = nullptr; |