PR29720, objdump -S crashes if build-id is missing

PR 29720
	* objdump.c (slurp_file): Don't call debuginfod_find_source
	when build_id is NULL.
This commit is contained in:
Alan Modra 2022-10-26 09:41:55 +10:30
parent 9254cd1fd8
commit 6175be4175

View File

@ -1879,17 +1879,19 @@ slurp_file (const char * fn,
#if HAVE_LIBDEBUGINFOD
if (fd < 0 && use_debuginfod && fn[0] == '/' && abfd != NULL)
{
unsigned char * build_id;
debuginfod_client * client;
unsigned char *build_id = get_build_id (abfd);
client = debuginfod_begin ();
if (client == NULL)
return NULL;
if (build_id)
{
debuginfod_client *client = debuginfod_begin ();
build_id = get_build_id (abfd);
fd = debuginfod_find_source (client, build_id, 0, fn, NULL);
free (build_id);
debuginfod_end (client);
if (client)
{
fd = debuginfod_find_source (client, build_id, 0, fn, NULL);
debuginfod_end (client);
}
free (build_id);
}
}
#endif