Handle dlsym succeeding with info.dli_sname == NULL.
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.