diff --git a/daemon.c b/daemon.c
index dd0177f48d3192d3006394584e335ae1beba5db4..2b4a6f145cc0f37c95da31df23dfde3ba7fa63a7 100644 (file)
--- a/daemon.c
+++ b/daemon.c
if (strict_paths && (!ok_paths || !*ok_paths))
die("option --strict-paths requires a whitelist");
+ if (base_path) {
+ struct stat st;
+
+ if (stat(base_path, &st) || !S_ISDIR(st.st_mode))
+ die("base-path '%s' does not exist or "
+ "is not a directory", base_path);
+ }
+
if (inetd_mode) {
struct sockaddr_storage ss;
struct sockaddr *peer = (struct sockaddr *)&ss;