From b97d10a839aee875ac8157a84bb008d82f53219a Mon Sep 17 00:00:00 2001 From: wm4 Date: Wed, 18 Sep 2013 17:02:31 +0200 Subject: path: fix undefined behavior The homepath variable was static, and its value was set to a stack buffer. This means a second invocation of the function would trigger undefined behavior. Moreover the stack buffer always went out of scope before homepath was used. --- mpvcore/path.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mpvcore/path.c b/mpvcore/path.c index ae12f20e68..f0c8525b21 100644 --- a/mpvcore/path.c +++ b/mpvcore/path.c @@ -78,12 +78,12 @@ char *mp_find_config_file(const char *filename) char *mp_find_user_config_file(const char *filename) { char *homedir = NULL, *buff = NULL; - static char *homepath = NULL; + char *homepath = NULL; #ifdef __MINGW32__ char *config_dir = "mpv"; + char buf[MAX_PATH]; if (homepath == NULL) { - char buf[MAX_PATH]; if (SHGetFolderPathA(NULL, CSIDL_LOCAL_APPDATA|CSIDL_FLAG_CREATE, NULL, SHGFP_TYPE_CURRENT, buf) == S_OK) { -- cgit v1.2.3