asan: NULL dereference in som_set_reloc_info

* som.c (som_set_reloc_info): Ignore non-existent previous
	fixup references.
This commit is contained in:
Alan Modra 2022-08-13 14:05:24 +09:30
parent cc44342012
commit 8c68d88cc4

View File

@ -4978,6 +4978,11 @@ som_set_reloc_info (unsigned char *fixup,
/* Handle a request for a previous fixup. */
if (*fp->format == 'P')
{
if (!reloc_queue[fp->D].reloc)
/* The back-reference doesn't exist. This is a broken
object file, likely fuzzed. Just ignore the fixup. */
continue;
/* Get pointer to the beginning of the prev fixup, move
the repeated fixup to the head of the queue. */
fixup = reloc_queue[fp->D].reloc;