buffer overflow in cmdline_add_object_only_section

Alan Modra amodra@gmail.com
Fri Jan 17 08:38:16 GMT 2025


Seen running ld-plugin/lto-4r-c on x86_64-w64-mingw32

	* ldlang.c (cmdline_add_object_only_section): Allocate one more
	for output symbol buffer.

diff --git a/ld/ldlang.c b/ld/ldlang.c
index cf4294d7288..2e82eef61fe 100644
--- a/ld/ldlang.c
+++ b/ld/ldlang.c
@@ -10728,7 +10728,7 @@ cmdline_add_object_only_section (bfd_byte *contents, size_t size)
       long src_count = 0, dst_count = 0;
       asymbol **from, **to;
 
-      osympp = (asymbol **) xmalloc (symcount * sizeof (asymbol *));
+      osympp = xmalloc ((symcount + 1) * sizeof (asymbol *));
       from = isympp;
       to = osympp;
       for (; src_count < symcount; src_count++)

-- 
Alan Modra


More information about the Binutils mailing list