mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-21 10:34:21 +08:00
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:
@ -4978,6 +4978,11 @@ som_set_reloc_info (unsigned char *fixup,
|
|||||||
/* Handle a request for a previous fixup. */
|
/* Handle a request for a previous fixup. */
|
||||||
if (*fp->format == 'P')
|
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
|
/* Get pointer to the beginning of the prev fixup, move
|
||||||
the repeated fixup to the head of the queue. */
|
the repeated fixup to the head of the queue. */
|
||||||
fixup = reloc_queue[fp->D].reloc;
|
fixup = reloc_queue[fp->D].reloc;
|
||||||
|
Reference in New Issue
Block a user