diff options
Diffstat (limited to 'src/server/database/Updater/DBUpdater.cpp')
| -rw-r--r-- | src/server/database/Updater/DBUpdater.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/server/database/Updater/DBUpdater.cpp b/src/server/database/Updater/DBUpdater.cpp index d4f45c2972..e1a1518f14 100644 --- a/src/server/database/Updater/DBUpdater.cpp +++ b/src/server/database/Updater/DBUpdater.cpp @@ -447,9 +447,6 @@ void DBUpdater<T>::ApplyFile(DatabaseWorkerPool<T>& pool, std::string const& hos args.emplace_back("-h" + host); args.emplace_back("-u" + user); - if (!password.empty()) - args.emplace_back("-p" + password); - // Check if we want to connect through ip or socket (Unix only) #ifdef _WIN32 @@ -499,9 +496,14 @@ void DBUpdater<T>::ApplyFile(DatabaseWorkerPool<T>& pool, std::string const& hos if (!database.empty()) args.emplace_back(database); + auto env = boost::process::environment(); + + if (!password.empty()) + env["MYSQL_PWD"]=password; + // Invokes a mysql process which doesn't leak credentials to logs int const ret = Acore::StartProcess(DBUpdaterUtil::GetCorrectedMySQLExecutable(), args, - "sql.updates", "", true); + "sql.updates", "", true, env); if (ret != EXIT_SUCCESS) { |
