Skip to content
Snippets Groups Projects

inspect-library: print the real SONAME of the given library

Merged Ludovico de Nittis requested to merge wip/denittis/t21931 into master
1 file
+ 11
9
Compare changes
  • Side-by-side
  • Inline
+ 11
9
@@ -141,7 +141,7 @@ find_tag_value (const ElfW(Dyn) *dyn,
return dyn->d_un.d_val;
}
return -1;
return (size_t) -1;
}
int
@@ -267,16 +267,18 @@ main (int argc,
const ElfW(Addr) load_addr = the_library->l_addr;
const char *strtab = find_dyn_entry (dyn_start, load_addr, DT_STRTAB);
size_t soname_val = find_tag_value (dyn_start, DT_SONAME);
if (strtab == NULL || soname_val == -1)
if (strtab != NULL && soname_val != (size_t) -1)
{
fprintf (stderr, "Error trying to get the SONAME of \"%s\"\n", soname);
clean_exit (handle);
return 1;
printf ("\n \"SONAME\": \"");
print_json_string_content (&strtab[soname_val]);
printf("\",");
}
else
{
fprintf (stderr,
"Warning: we were not able to get the SONAME of \"%s\"\n",
soname);
}
printf ("\n \"SONAME\": \"");
print_json_string_content (&strtab[soname_val]);
printf("\",");
printf ("\n \"path\": \"");
print_json_string_content (the_library->l_name);
Loading