[core] Check status of dladdr (#626)

This commit is contained in:
LoveSy 2021-05-19 11:45:24 +08:00 committed by GitHub
parent ee57426443
commit 9899bbfb95
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 10 additions and 10 deletions

View File

@ -127,7 +127,7 @@ namespace lspd {
_make_rwx(original, _page_size); _make_rwx(original, _page_size);
if constexpr (isDebug) { if constexpr (isDebug) {
Dl_info info; Dl_info info;
dladdr(original, &info); if (dladdr(original, &info))
LOGD("Hooking %s (%p) from %s (%p)", LOGD("Hooking %s (%p) from %s (%p)",
info.dli_sname ? info.dli_sname : "(unknown symbol)", info.dli_saddr, info.dli_sname ? info.dli_sname : "(unknown symbol)", info.dli_saddr,
info.dli_fname ? info.dli_fname : "(unknown file)", info.dli_fbase); info.dli_fname ? info.dli_fname : "(unknown file)", info.dli_fbase);
@ -138,7 +138,7 @@ namespace lspd {
inline int UnhookFunction(void *original) { inline int UnhookFunction(void *original) {
if constexpr (isDebug) { if constexpr (isDebug) {
Dl_info info; Dl_info info;
dladdr(original, &info); if (dladdr(original, &info))
LOGD("Unhooking %s (%p) from %s (%p)", LOGD("Unhooking %s (%p) from %s (%p)",
info.dli_sname ? info.dli_sname : "(unknown symbol)", info.dli_saddr, info.dli_sname ? info.dli_sname : "(unknown symbol)", info.dli_saddr,
info.dli_fname ? info.dli_fname : "(unknown file)", info.dli_fbase); info.dli_fname ? info.dli_fname : "(unknown file)", info.dli_fbase);

View File

@ -98,10 +98,10 @@ namespace lspd {
for (std::string_view module_lib: moduleNativeLibs) { for (std::string_view module_lib: moduleNativeLibs) {
// the so is a module so // the so is a module so
if (UNLIKELY(hasEnding(ns, module_lib))) { if (UNLIKELY(hasEnding(ns, module_lib))) {
LOGI("Loading module native library %s", module_lib.data()); LOGD("Loading module native library %s", module_lib.data());
void *native_init_sym = dlsym(handle, "native_init"); void *native_init_sym = dlsym(handle, "native_init");
if (UNLIKELY(native_init_sym == nullptr)) { if (UNLIKELY(native_init_sym == nullptr)) {
LOGE("Failed to get symbol \"native_init\" from library %s", LOGD("Failed to get symbol \"native_init\" from library %s",
module_lib.data()); module_lib.data());
break; break;
} }