summaryrefslogtreecommitdiff
path: root/binutils/objcopy.c
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2009-12-31 14:40:36 +0000
committerNick Clifton <nickc@redhat.com>2009-12-31 14:40:36 +0000
commita6da20b52c17c80c5123758341d23d92b80e2fb1 (patch)
treec22f566bb48cdfe84d3db3be26cb7dd8c3dd2f32 /binutils/objcopy.c
parent0ee19663b713925ef333675f1497b482e03dc4c3 (diff)
downloadbinutils-gdb-a6da20b52c17c80c5123758341d23d92b80e2fb1.tar.gz
* objcopy.c (add_redefine_syms_file): Avoid symbol buffer
overrun.
Diffstat (limited to 'binutils/objcopy.c')
-rw-r--r--binutils/objcopy.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/binutils/objcopy.c b/binutils/objcopy.c
index 20f867c01f9..bd8dcec8338 100644
--- a/binutils/objcopy.c
+++ b/binutils/objcopy.c
@@ -1232,7 +1232,7 @@ add_redefine_syms_file (const char *filename)
filename, strerror (errno));
bufsize = 100;
- buf = (char *) xmalloc (bufsize);
+ buf = (char *) xmalloc (bufsize + 1 /* For the terminating NUL. */);
lineno = 1;
c = getc (file);
@@ -1249,7 +1249,7 @@ add_redefine_syms_file (const char *filename)
if (len >= bufsize)
{
bufsize *= 2;
- buf = (char *) xrealloc (buf, bufsize);
+ buf = (char *) xrealloc (buf, bufsize + 1);
}
c = getc (file);
}
@@ -1275,7 +1275,7 @@ add_redefine_syms_file (const char *filename)
if (len >= bufsize)
{
bufsize *= 2;
- buf = (char *) xrealloc (buf, bufsize);
+ buf = (char *) xrealloc (buf, bufsize + 1);
}
c = getc (file);
}