[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,10 +127,10 @@ namespace lspd {
_make_rwx(original, _page_size);
if constexpr (isDebug) {
Dl_info info;
dladdr(original, &info);
LOGD("Hooking %s (%p) from %s (%p)",
info.dli_sname ? info.dli_sname : "(unknown symbol)", info.dli_saddr,
info.dli_fname ? info.dli_fname : "(unknown file)", info.dli_fbase);
if (dladdr(original, &info))
LOGD("Hooking %s (%p) from %s (%p)",
info.dli_sname ? info.dli_sname : "(unknown symbol)", info.dli_saddr,
info.dli_fname ? info.dli_fname : "(unknown file)", info.dli_fbase);
}
return DobbyHook(original, replace, backup);
}
@ -138,10 +138,10 @@ namespace lspd {
inline int UnhookFunction(void *original) {
if constexpr (isDebug) {
Dl_info info;
dladdr(original, &info);
LOGD("Unhooking %s (%p) from %s (%p)",
info.dli_sname ? info.dli_sname : "(unknown symbol)", info.dli_saddr,
info.dli_fname ? info.dli_fname : "(unknown file)", info.dli_fbase);
if (dladdr(original, &info))
LOGD("Unhooking %s (%p) from %s (%p)",
info.dli_sname ? info.dli_sname : "(unknown symbol)", info.dli_saddr,
info.dli_fname ? info.dli_fname : "(unknown file)", info.dli_fbase);
}
return DobbyDestroy(original);
}

View File

@ -98,10 +98,10 @@ namespace lspd {
for (std::string_view module_lib: moduleNativeLibs) {
// the so is a module so
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");
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());
break;
}