[PATCH] gas/ELF: avoid below-base ref in obj_elf_parse_section_letters()
Alan Modra
amodra@gmail.com
Sat Dec 18 10:41:13 GMT 2021
On Fri, Dec 17, 2021 at 09:18:18AM +0100, Jan Beulich via Binutils wrote:
> We would better be prepared for 'm' being the first character of the
> incoming string.
>
> --- a/gas/config/obj-elf.c
> +++ b/gas/config/obj-elf.c
> @@ -860,6 +860,17 @@ obj_elf_parse_section_letters (char *str
> {
> case 'a':
> attr |= SHF_ALLOC;
> + /* Compatibility. */
> + if (len > 1 && str[1] == 'm')
> + {
> + attr |= SHF_MERGE;
> + str++, len--;
> + if (len > 1 && str[1] == 's')
> + {
> + attr |= SHF_STRINGS;
> + str++, len--;
> + }
> + }
> break;
> case 'e':
> attr |= SHF_EXCLUDE;
> @@ -894,19 +905,6 @@ obj_elf_parse_section_letters (char *str
> case '?':
> *is_clone = true;
> break;
> - /* Compatibility. */
> - case 'm':
> - if (*(str - 1) == 'a')
> - {
> - attr |= SHF_MERGE;
> - if (len > 1 && str[1] == 's')
> - {
> - attr |= SHF_STRINGS;
> - str++, len--;
> - }
> - break;
> - }
> - /* Fall through. */
> default:
> {
> const char *bad_msg = _("unrecognized .section attribute:"
OK.
--
Alan Modra
Australia Development Lab, IBM
More information about the Binutils
mailing list