Browse Source

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 <johannes.sixt@telecom.at>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
Johannes Sixt 17 years ago committed by Junio C Hamano
parent
commit
2063207156
  1. 8
      daemon.c

8
daemon.c

@ -1184,6 +1184,14 @@ int main(int argc, char **argv) @@ -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;

Loading…
Cancel
Save