diff options
author | John Baldwin <jhb@FreeBSD.org> | 2018-11-09 11:44:20 -0800 |
---|---|---|
committer | John Baldwin <jhb@FreeBSD.org> | 2018-11-09 11:44:20 -0800 |
commit | 9c122c7f9c8260d2cceb1e8f29d69607531f43ba (patch) | |
tree | 7cfc3723e505de7edd8fad4e1654086477fc3d55 | |
parent | 4b905ae1b4d5f90e5737ee01ab4b7149be8c1fe5 (diff) | |
download | gdb-9c122c7f9c8260d2cceb1e8f29d69607531f43ba.zip gdb-9c122c7f9c8260d2cceb1e8f29d69607531f43ba.tar.gz gdb-9c122c7f9c8260d2cceb1e8f29d69607531f43ba.tar.bz2 |
Fix unsigned overflow in minsyms reader.
Use a ssize_t helper variable for the number of bytes to shrink the
msymbols obstack rather than relying on unsigned overflow to shrink
the size of the obstack.
gdb/ChangeLog:
* minsyms.c (minimal_symbol_reader::install): Fix unsigned
overflow.
-rw-r--r-- | gdb/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/minsyms.c | 5 |
2 files changed, 8 insertions, 2 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index b6c612b..4a79364 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2018-11-09 John Baldwin <jhb@FreeBSD.org> + + * minsyms.c (minimal_symbol_reader::install): Fix unsigned + overflow. + 2018-11-09 Hafiz Abid Qadeer <abidh@codesourcery.com> * configure: Regenerate. diff --git a/gdb/minsyms.c b/gdb/minsyms.c index 4409e6f..0f85442 100644 --- a/gdb/minsyms.c +++ b/gdb/minsyms.c @@ -1375,8 +1375,9 @@ minimal_symbol_reader::install () mcount = compact_minimal_symbols (msymbols, mcount, m_objfile); - obstack_blank_fast (&m_objfile->per_bfd->storage_obstack, - (mcount + 1 - alloc_count) * sizeof (struct minimal_symbol)); + ssize_t shrink_bytes + = (mcount + 1 - alloc_count) * sizeof (struct minimal_symbol); + obstack_blank_fast (&m_objfile->per_bfd->storage_obstack, shrink_bytes); msymbols = (struct minimal_symbol *) obstack_finish (&m_objfile->per_bfd->storage_obstack); |