aboutsummaryrefslogtreecommitdiff
path: root/gcc/gcc.c
diff options
context:
space:
mode:
authorMatt Kraai <kraai@alumni.carnegiemellon.edu>2001-08-20 13:39:36 +0000
committerMatt Kraai <kraai@gcc.gnu.org>2001-08-20 13:39:36 +0000
commit27a144872845b00b6a526ccf6c03792a027a4494 (patch)
tree0e411b3a5f83d59c12a0843bdd4f7718385bb15e /gcc/gcc.c
parent2a895e441a50a1e70dad9e97f271e9aa0b53907b (diff)
downloadgcc-27a144872845b00b6a526ccf6c03792a027a4494.zip
gcc-27a144872845b00b6a526ccf6c03792a027a4494.tar.gz
gcc-27a144872845b00b6a526ccf6c03792a027a4494.tar.bz2
gcc.c (make_relative_prefix): Allocate a sufficiently large buffer.
* gcc.c (make_relative_prefix): Allocate a sufficiently large buffer. From-SVN: r45049
Diffstat (limited to 'gcc/gcc.c')
-rw-r--r--gcc/gcc.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/gcc/gcc.c b/gcc/gcc.c
index 47cfa2e..99a5c3c 100644
--- a/gcc/gcc.c
+++ b/gcc/gcc.c
@@ -2285,8 +2285,12 @@ make_relative_prefix (progname, bin_prefix, prefix)
GET_ENV_PATH_LIST (temp, "PATH");
if (temp)
{
- char *startp, *endp;
- char *nstore = (char *) alloca (strlen (temp) + strlen (progname) + 1);
+ char *startp, *endp, *nstore;
+ size_t prefixlen = strlen (temp) + 1;
+ if (prefixlen < 2)
+ prefixlen = 2;
+
+ nstore = (char *) alloca (prefixlen + strlen (progname) + 1);
startp = endp = temp;
while (1)