Fix T81925: incorrectly skipped string copy in test_env_path

Regression in 6f3a9031f7
This commit is contained in:
Robert Guetzkow 2020-10-22 09:51:51 +11:00 committed by Campbell Barton
parent 8a22b76988
commit ef5d6e9c45
Notes: blender-bot 2023-02-14 11:07:28 +01:00
Referenced by issue #81925, Splash Screen can not be closed
1 changed files with 8 additions and 3 deletions

View File

@ -254,8 +254,12 @@ static bool test_path(char *targetpath,
}
/**
* Puts the value of the specified environment variable into *path if it exists
* and points at a directory. Returns true if this was done.
* Puts the value of the specified environment variable into \a path if it exists.
*
* \param check_is_dir: When true, checks if it points at a directory.
*
* \returns true when the value of the environment variable is stored
* at the address \a path points to.
*/
static bool test_env_path(char *path, const char *envvar, const bool check_is_dir)
{
@ -266,13 +270,14 @@ static bool test_env_path(char *path, const char *envvar, const bool check_is_di
return false;
}
BLI_strncpy(path, env_path, FILE_MAX);
if (check_is_dir == false) {
CLOG_INFO(&LOG, 3, "using env '%s' without test: '%s'", envvar, env_path);
return true;
}
if (BLI_is_dir(env_path)) {
BLI_strncpy(path, env_path, FILE_MAX);
CLOG_INFO(&LOG, 3, "env '%s' found: %s", envvar, env_path);
return true;
}