From 646d1beda02f0aca8f6a69ea97889f1661cf7fa9 Mon Sep 17 00:00:00 2001 From: Paul Gortmaker Date: Wed, 25 Jun 2014 21:21:12 +0000 Subject: [PATCH] gcc.c (set_multilib_dir): Malloc "." pointer as well. 2014-06-25 Paul Gortmaker Jakub Jelinek * gcc.c (set_multilib_dir): Malloc "." pointer as well. Co-Authored-By: Jakub Jelinek From-SVN: r211997 --- gcc/ChangeLog | 5 +++++ gcc/gcc.c | 13 +++++++++---- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index fba575ec635..48d6f22aa14 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2014-06-25 Paul Gortmaker + Jakub Jelinek + + * gcc.c (set_multilib_dir): Malloc "." pointer as well. + 2014-06-25 Tom de Vries * config/arm/arm.c (arm_emit_call_insn): Remove clobber of CC_REGNUM. 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 == ':') {