summaryrefslogtreecommitdiff
path: root/gcc/gcc.c
diff options
context:
space:
mode:
authorlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>2014-06-25 21:21:12 +0000
committerlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>2014-06-25 21:21:12 +0000
commit5f2439338076bcd5f10e4e513186afa82fb617ac (patch)
treec2515d705c2e46056c43ec04802c2d6d1088b269 /gcc/gcc.c
parentac4cf92ef6d50b09fde2fc83dc60a3f2d5fa9968 (diff)
downloadgcc-5f2439338076bcd5f10e4e513186afa82fb617ac.tar.gz
2014-06-25 Paul Gortmaker <paul.gortmaker@windriver.com>
Jakub Jelinek <jakub@redhat.com> * gcc.c (set_multilib_dir): Malloc "." pointer as well. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211997 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/gcc.c')
-rw-r--r--gcc/gcc.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/gcc/gcc.c b/gcc/gcc.c
index 9ac18e60d80..168acf7eb0c 100644
--- a/gcc/gcc.c
+++ b/gcc/gcc.c
@@ -7790,10 +7790,15 @@ set_multilib_dir (void)
q2++;
if (*q2 == ':')
ml_end = q2;
- new_multilib_os_dir = XNEWVEC (char, ml_end - q);
- memcpy (new_multilib_os_dir, q + 1, ml_end - q - 1);
- new_multilib_os_dir[ml_end - q - 1] = '\0';
- multilib_os_dir = *new_multilib_os_dir ? new_multilib_os_dir : ".";
+ if (ml_end - q == 1)
+ multilib_os_dir = xstrdup (".");
+ else
+ {
+ new_multilib_os_dir = XNEWVEC (char, ml_end - q);
+ memcpy (new_multilib_os_dir, q + 1, ml_end - q - 1);
+ new_multilib_os_dir[ml_end - q - 1] = '\0';
+ multilib_os_dir = new_multilib_os_dir;
+ }
if (q2 < end && *q2 == ':')
{