timeout in mmo_get_symbols
Alan Modra
amodra@gmail.com
Wed Aug 17 07:08:21 GMT 2022
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.
diff --git a/bfd/mmo.c b/bfd/mmo.c
index 30af28c8bdc..80b5cb6b4ca 100644
--- a/bfd/mmo.c
+++ b/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];
--
Alan Modra
Australia Development Lab, IBM
More information about the Binutils
mailing list