diff --git a/src/config-ini.c b/src/config-ini.c index 63c1f5e1..d1838f86 100644 --- a/src/config-ini.c +++ b/src/config-ini.c @@ -101,15 +101,17 @@ open_config_file(const char *filepath) if (f == NULL) { struct passwd *pwd = getpwuid(getuid()); - char *home = pwd->pw_dir; - snprintf(cp, sizeof(cp), - "%s/.config/redshift/redshift.conf", home); - f = fopen(cp, "r"); - if (f == NULL) { - /* Fall back to formerly used path. */ + if (pwd != NULL) { + char *home = pwd->pw_dir; snprintf(cp, sizeof(cp), - "%s/.config/redshift.conf", home); + "%s/.config/redshift/redshift.conf", home); f = fopen(cp, "r"); + if (f == NULL) { + /* Fall back to formerly used path. */ + snprintf(cp, sizeof(cp), + "%s/.config/redshift.conf", home); + f = fopen(cp, "r"); + } } }