From 00d44f7f2f513c56a784a6d418833bb3da8a188f Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Fri, 17 Dec 2021 12:41:28 +1030 Subject: [PATCH] asan: buffer overflow in mmo_get_symbols * mmo.c (mmo_get_symbols): Error on symbol name exceeding max length. --- bfd/mmo.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/bfd/mmo.c b/bfd/mmo.c index 2ee386662a4..d80cb06f746 100644 --- a/bfd/mmo.c +++ b/bfd/mmo.c @@ -1411,6 +1411,16 @@ SUBSECTION c = c2; } + if (abfd->tdata.mmo_data->symbol_position + >= abfd->tdata.mmo_data->max_symbol_length) + { + _bfd_error_handler + /* xgettext:c-format */ + (_("%pB: symbol name exceeds given max length of %d"), + abfd, abfd->tdata.mmo_data->max_symbol_length); + abfd->tdata.mmo_data->have_error = true; + return false; + } abfd->tdata.mmo_data->lop_stab_symbol[abfd->tdata.mmo_data->symbol_position++] = c; abfd->tdata.mmo_data->lop_stab_symbol[abfd->tdata.mmo_data->symbol_position] = 0; -- 2.30.2