forked from Imagelibrary/binutils-gdb
timeout in mmo_get_symbols
Fix mmo_get_byte to return a fail-safe value, not just on the first call with a read error but on subsequent calls too. * mmo.c (mmo_get_byte): Return the fail-safe value on every call after a read error.
This commit is contained in:
13
bfd/mmo.c
13
bfd/mmo.c
@@ -1180,15 +1180,14 @@ mmo_get_byte (bfd *abfd)
|
||||
|
||||
if (abfd->tdata.mmo_data->byte_no == 0)
|
||||
{
|
||||
if (! abfd->tdata.mmo_data->have_error
|
||||
if (!abfd->tdata.mmo_data->have_error
|
||||
&& bfd_bread (abfd->tdata.mmo_data->buf, 4, abfd) != 4)
|
||||
{
|
||||
abfd->tdata.mmo_data->have_error = true;
|
||||
abfd->tdata.mmo_data->have_error = true;
|
||||
|
||||
/* A value somewhat safe against tripping on some inconsistency
|
||||
when mopping up after this error. */
|
||||
return 128;
|
||||
}
|
||||
/* A value somewhat safe against tripping on some inconsistency
|
||||
when mopping up after this error. */
|
||||
if (abfd->tdata.mmo_data->have_error)
|
||||
return 128;
|
||||
}
|
||||
|
||||
retval = abfd->tdata.mmo_data->buf[abfd->tdata.mmo_data->byte_no];
|
||||
|
||||
Reference in New Issue
Block a user