diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 5a283f9f37a..ac9cee0c258 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2001-08-20 Matt Kraai + + * gcc.c (make_relative_prefix): Allocate a sufficiently large + buffer. + 2001-08-20 Richard Henderson * final.c (end_final): Fix typo last change. diff --git a/gcc/gcc.c b/gcc/gcc.c index 47cfa2e95ff..99a5c3cd594 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)