aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/util.cpp15
1 files changed, 10 insertions, 5 deletions
diff --git a/src/util.cpp b/src/util.cpp
index e2e104cc88..0f496bc455 100644
--- a/src/util.cpp
+++ b/src/util.cpp
@@ -653,20 +653,25 @@ string MyGetSpecialFolderPath(int nFolder, bool fCreate)
}
// Backup option
- pszPath[0] = '\0';
+ std::string strPath;
{
+ const char *pszEnv;
if (nFolder == CSIDL_STARTUP)
{
- strcpy(pszPath, getenv("USERPROFILE"));
- strcat(pszPath, "\\Start Menu\\Programs\\Startup");
+ pszEnv = getenv("USERPROFILE");
+ if (pszEnv)
+ strPath = pszEnv;
+ strPath += "\\Start Menu\\Programs\\Startup";
}
else if (nFolder == CSIDL_APPDATA)
{
- strcpy(pszPath, getenv("APPDATA"));
+ pszEnv = getenv("APPDATA");
+ if (pszEnv)
+ strPath = pszEnv;
}
}
- return pszPath;
+ return strPath;
}
#endif