asan: _bfd_stab_section_find_nearest_line segv

The segv was on "info->strs[strsize - 1] = 0;" with strsize zero.  OK,
if strsize is zero we don't have any filenames in stabs so no useful
info.

	* syms.c (_bfd_stab_section_find_nearest_line): Exit if either
	stabsize or strsize is zero.
This commit is contained in:
Alan Modra 2022-09-28 09:52:22 +09:30
parent 540e53422c
commit 8e4a500a5c

View File

@ -1027,6 +1027,9 @@ _bfd_stab_section_find_nearest_line (bfd *abfd,
? info->strsec->rawsize
: info->strsec->size);
if (stabsize == 0 || strsize == 0)
goto out;
if (!bfd_malloc_and_get_section (abfd, info->stabsec, &info->stabs))
goto out;
if (!bfd_malloc_and_get_section (abfd, info->strsec, &info->strs))