aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2025-01-17 19:00:41 +1030
committerAlan Modra <amodra@gmail.com>2025-01-17 19:06:39 +1030
commite2b02acd77a38f372a17e2f039a04afaecffc212 (patch)
tree2f2dfd29215f277181bb851827f719120157fa21
parent1897dad5d755c0a0c0a9a3a294576add7d5c2280 (diff)
downloadbinutils-e2b02acd77a38f372a17e2f039a04afaecffc212.zip
binutils-e2b02acd77a38f372a17e2f039a04afaecffc212.tar.gz
binutils-e2b02acd77a38f372a17e2f039a04afaecffc212.tar.bz2
buffer overflow in cmdline_add_object_only_section
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.
-rw-r--r--ld/ldlang.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/ld/ldlang.c b/ld/ldlang.c
index cf4294d..2e82eef 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++)