From: Johannes Sixt Date: Tue, 26 Feb 2008 12:00:55 +0000 (+0100) Subject: daemon: ensure that base-path is an existing directory X-Git-Tag: v1.5.4.4~5^2 X-Git-Url: https://git.tokkee.org/?a=commitdiff_plain;h=20632071560ad4915f4e620d3c053e5ee3af80f3;p=git.git daemon: ensure that base-path is an existing directory 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 Signed-off-by: Junio C Hamano --- diff --git a/daemon.c b/daemon.c index dd0177f48..2b4a6f145 100644 --- a/daemon.c +++ b/daemon.c @@ -1184,6 +1184,14 @@ int main(int argc, char **argv) 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;