summaryrefslogtreecommitdiffstats
path: root/mpvcore
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2013-09-18 19:56:15 +0200
committerwm4 <wm4@nowhere>2013-09-20 21:21:23 +0200
commit939d34e8f1a474374eb1730b992ab84e2759b1fe (patch)
treeeac0697e98e767543e51ff8a7c8911114cdf1def /mpvcore
parentbb2238516b7f9709dd7ba650b1cdaf551a4fb78a (diff)
downloadmpv-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.c8
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);
}