diff options
author | wm4 <wm4@nowhere> | 2013-09-18 19:56:15 +0200 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2013-09-20 21:21:23 +0200 |
commit | 939d34e8f1a474374eb1730b992ab84e2759b1fe (patch) | |
tree | eac0697e98e767543e51ff8a7c8911114cdf1def /mpvcore | |
parent | bb2238516b7f9709dd7ba650b1cdaf551a4fb78a (diff) | |
download | mpv-939d34e8f1a474374eb1730b992ab84e2759b1fe.tar.bz2 mpv-939d34e8f1a474374eb1730b992ab84e2759b1fe.tar.xz |
Config path functions can return NULL
It's quite unlikely, but functions like mp_find_user_config_file() can
return NULL, e.g. if $HOME is unset.
Fix all the code that didn't check for this correctly yet.
Diffstat (limited to 'mpvcore')
-rw-r--r-- | mpvcore/mplayer.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/mpvcore/mplayer.c b/mpvcore/mplayer.c index 7c8d33a6cd..1f44ac9b7d 100644 --- a/mpvcore/mplayer.c +++ b/mpvcore/mplayer.c @@ -628,9 +628,11 @@ static void mk_config_dir(char *subdir) { void *tmp = talloc_new(NULL); char *confdir = talloc_steal(tmp, mp_find_user_config_file("")); - if (subdir) - confdir = mp_path_join(tmp, bstr0(confdir), bstr0(subdir)); - mkdir(confdir, 0777); + if (confdir) { + if (subdir) + confdir = mp_path_join(tmp, bstr0(confdir), bstr0(subdir)); + mkdir(confdir, 0777); + } talloc_free(tmp); } |