From ef5d6e9c457a4265467b6aca588c55ba60689ff0 Mon Sep 17 00:00:00 2001 From: Robert Guetzkow Date: Thu, 22 Oct 2020 09:51:51 +1100 Subject: Fix T81925: incorrectly skipped string copy in test_env_path Regression in 6f3a9031f7b93e7c687edde646beed9f02d920d4 --- source/blender/blenkernel/intern/appdir.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'source') diff --git a/source/blender/blenkernel/intern/appdir.c b/source/blender/blenkernel/intern/appdir.c index 44fc608530b..00c62340e16 100644 --- a/source/blender/blenkernel/intern/appdir.c +++ b/source/blender/blenkernel/intern/appdir.c @@ -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; } -- cgit v1.2.3