From 8ca5537ba56b72518353541784b2b0a49c978893 Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Tue, 11 May 2021 21:30:14 +0930 Subject: [PATCH] PR27844, Unstable symbol name in objdump outputs Special care for fuzzers. PR 27844 * pdp11.c (aout_get_external_symbols): Clear first four bytes of strings array, not just the first byte. * aoutx.h (aout_get_external_symbols): Likewise. --- bfd/ChangeLog | 7 +++++++ bfd/aoutx.h | 2 +- bfd/pdp11.c | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 6af8c1abdfc..bd5d4f7b2cc 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,10 @@ +2021-05-11 Alan Modra + + PR 27844 + * pdp11.c (aout_get_external_symbols): Clear first four bytes of + strings array, not just the first byte. + * aoutx.h (aout_get_external_symbols): Likewise. + 2021-05-10 H.J. Lu PR binutils/27839 diff --git a/bfd/aoutx.h b/bfd/aoutx.h index 76bb13c8e8d..17560bd8f54 100644 --- a/bfd/aoutx.h +++ b/bfd/aoutx.h @@ -1364,7 +1364,7 @@ aout_get_external_symbols (bfd *abfd) } } /* Ensure that a zero index yields an empty string. */ - strings[0] = '\0'; + memset (strings, 0, BYTES_IN_WORD); /* Ensure that the string buffer is NUL terminated. */ strings[stringsize] = 0; diff --git a/bfd/pdp11.c b/bfd/pdp11.c index 75ddf2038c2..2c9fe0ae56b 100644 --- a/bfd/pdp11.c +++ b/bfd/pdp11.c @@ -1344,7 +1344,7 @@ aout_get_external_symbols (bfd *abfd) } } /* Ensure that a zero index yields an empty string. */ - strings[0] = '\0'; + memset (strings, 0, BYTES_IN_LONG); /* Ensure that the string buffer is NUL terminated. */ strings[stringsize] = 0; -- 2.30.2