Remove alloca from osabi.c
authorTom Tromey <tom@tromey.com>
Sun, 13 Aug 2023 16:37:00 +0000 (10:37 -0600)
committerTom Tromey <tom@tromey.com>
Mon, 14 Aug 2023 20:12:29 +0000 (14:12 -0600)
I noticed that the call to alloca in osabi.c can be replaced with a
statically-sized buffer, because some code just before the declaration
ensures that the length is bounded.

Reviewed-by: John Baldwin <jhb@FreeBSD.org>
gdb/osabi.c

index d18802ac3a4254c5288dea093eae144a6372e438..ad3dad5b849b25265d9c0f7c54fb7c337fef95c2 100644 (file)
@@ -463,7 +463,6 @@ generic_elf_osabi_sniff_abi_tag_sections (bfd *abfd, asection *sect,
 {
   const char *name;
   unsigned int sectsize;
-  char *note;
 
   name = bfd_section_name (sect);
   sectsize = bfd_section_size (sect);
@@ -477,7 +476,7 @@ generic_elf_osabi_sniff_abi_tag_sections (bfd *abfd, asection *sect,
      compressed section.  But, since note sections are not compressed,
      deferring the reading until we recognize the section avoids any
      error.  */
-  note = (char *) alloca (sectsize);
+  char note[MAX_NOTESZ];
 
   /* .note.ABI-tag notes, used by GNU/Linux and FreeBSD.  */
   if (strcmp (name, ".note.ABI-tag") == 0)