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.
This commit is contained in:
wm4 2013-09-18 17:02:31 +02:00
parent bb4ea8bb3e
commit b97d10a839
1 changed files with 2 additions and 2 deletions

View File

@ -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) {