When dlsym is handed an address in a shared object that doesn't match a symbol in that shared object (such as a C++ vtable) it returns success but sets dli_sname to null.
Handle this case rather than crashing.
When dlsym is handed an address in a shared object that doesn't match a symbol in that shared object (such as a C++ vtable) it returns success but sets dli_sname to null.
Handle this case rather than crashing.