aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Kenner <kenner@gcc.gnu.org>1994-10-26 18:06:49 -0400
committerRichard Kenner <kenner@gcc.gnu.org>1994-10-26 18:06:49 -0400
commit9ffe483fc124cf73099a3c4480e11cae0a33b490 (patch)
tree3f06e14fe39c6115e44cf885a719ab69ee8d0ab5
parent684e4e06745116a0664e345ae0eec227d3ef4a45 (diff)
downloadgcc-9ffe483fc124cf73099a3c4480e11cae0a33b490.zip
gcc-9ffe483fc124cf73099a3c4480e11cae0a33b490.tar.gz
gcc-9ffe483fc124cf73099a3c4480e11cae0a33b490.tar.bz2
(expand_lib, main): Fix off-by-one bugs in several calls to malloc.
From-SVN: r8344
-rw-r--r--gcc/config/winnt/ld.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/gcc/config/winnt/ld.c b/gcc/config/winnt/ld.c
index c75aa2b..404ab1a 100644
--- a/gcc/config/winnt/ld.c
+++ b/gcc/config/winnt/ld.c
@@ -116,7 +116,7 @@ expand_lib (name)
{
char *lib, *lib_path;
- lib = malloc (strlen (name) + 5);
+ lib = malloc (strlen (name) + 6);
strcpy (lib, "lib");
strcat (lib, name);
strcat (lib, ".a");
@@ -195,7 +195,7 @@ main (argc, argv)
int out_len;
i++;
- out_len = strlen (argv[i]) + 9;
+ out_len = strlen (argv[i]) + 10;
buff = malloc (out_len);
strcpy (buff, "-out:");
strcat (buff, argv[i]);
@@ -213,7 +213,7 @@ main (argc, argv)
new_len = strlen (&argv[i][2]);
search_dirs_len = strlen (search_dirs);
- nbuff = malloc (new_len);
+ nbuff = malloc (new_len + 1);
strcpy (nbuff, &argv[i][2]);
for (j = 0; j < new_len; j++)