summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 22665bb)
raw | patch | inline | side by side (parent: 22665bb)
author | Johannes Sixt <j.sixt@viscovery.net> | |
Tue, 26 Feb 2008 12:00:55 +0000 (13:00 +0100) | ||
committer | Junio C Hamano <gitster@pobox.com> | |
Wed, 27 Feb 2008 22:47:36 +0000 (14:47 -0800) |
Any request to the daemon would fail if base-path (if specified) is not
a directory. We now check for this condition early.
Signed-off-by: Johannes Sixt <johannes.sixt@telecom.at>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
a directory. We now check for this condition early.
Signed-off-by: Johannes Sixt <johannes.sixt@telecom.at>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
daemon.c | patch | blob | history |
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;