From e800684ead568b1103f34efbaefaa973f77d46f0 Mon Sep 17 00:00:00 2001 From: Loic Blot Date: Fri, 16 Mar 2018 19:34:41 +0100 Subject: [PATCH] Fix a crash or random memory leak when reseting saved environment variable in test_servermodmanager.cpp --- src/unittest/test_servermodmanager.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/unittest/test_servermodmanager.cpp b/src/unittest/test_servermodmanager.cpp index cb43babf9..72ac7c6bf 100644 --- a/src/unittest/test_servermodmanager.cpp +++ b/src/unittest/test_servermodmanager.cpp @@ -71,11 +71,15 @@ void TestServerModManager::runTests(IGameDef *gamedef) #ifdef WIN32 { std::string subgame_path("MINETEST_SUBGAME_PATH="); - subgame_path.append(saved_env_mt_subgame_path); + if (saved_env_mt_subgame_path) + subgame_path.append(saved_env_mt_subgame_path); _putenv(subgame_path.c_str()); } #else - setenv("MINETEST_SUBGAME_PATH", saved_env_mt_subgame_path, 1); + if (saved_env_mt_subgame_path) + setenv("MINETEST_SUBGAME_PATH", saved_env_mt_subgame_path, 1); + else + unsetenv("MINETEST_SUBGAME_PATH"); #endif }