From: Francois Pichet Date: Sat, 16 Jul 2011 21:17:14 +0000 (+0000) Subject: Do not modify string returned by getenv on Windows. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=a6c2b3a648913d47703625acb17671dd2d926bbc;p=clang Do not modify string returned by getenv on Windows. Fixes PR9875, patch by Nikola Smiljanic! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@135356 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Frontend/InitHeaderSearch.cpp b/lib/Frontend/InitHeaderSearch.cpp index c19e80a5fd..e11a415db1 100644 --- a/lib/Frontend/InitHeaderSearch.cpp +++ b/lib/Frontend/InitHeaderSearch.cpp @@ -420,10 +420,8 @@ static bool getVisualStudioDir(std::string &path) { vscomntools = vs80comntools; if (vscomntools && *vscomntools) { - char *p = const_cast(strstr(vscomntools, "\\Common7\\Tools")); - if (p) - *p = '\0'; - path = vscomntools; + const char *p = strstr(vscomntools, "\\Common7\\Tools"); + path = p ? std::string(vscomntools, p) : vscomntools; return true; } return false;