Merge branch 'maint-2.4' into maint-2.5
authorJunio C Hamano <gitster@pobox.com>
Fri, 5 May 2017 03:46:53 +0000 (12:46 +0900)
committerJunio C Hamano <gitster@pobox.com>
Fri, 5 May 2017 03:46:53 +0000 (12:46 +0900)
Documentation/RelNotes/2.4.12.txt [new file with mode: 0644]
Documentation/git.txt
shell.c
diff --git a/Documentation/RelNotes/2.4.12.txt b/Documentation/RelNotes/2.4.12.txt
new file mode 100644 (file)
index 0000000..7d15f94
--- /dev/null
@@ -0,0 +1,12 @@
+Git v2.4.12 Release Notes
+=========================
+
+Fixes since v2.4.11
+-------------------
+
+ * "git-shell" rejects a request to serve a repository whose name
+   begins with a dash, which makes it no longer possible to get it
+   confused into spawning service programs like "git-upload-pack" with
+   an option like "--help", which in turn would spawn an interactive
+   pager, instead of working with the repository user asked to access
+   (i.e. the one whose name is "--help").
index fe5fefe230a4ecde3b343ba21052e58cdfb0dfd1..c64ffa81d8b1c184b99ff5063624f62d021c6403 100644 (file)
@@ -53,9 +53,10 @@ Documentation for older releases are available here:
   link:RelNotes/2.5.1.txt[2.5.1],
   link:RelNotes/2.5.0.txt[2.5].
 
-* link:v2.4.11/git.html[documentation for release 2.4.11]
+* link:v2.4.12/git.html[documentation for release 2.4.12]
 
 * release notes for
+  link:RelNotes/2.4.12.txt[2.4.12],
   link:RelNotes/2.4.11.txt[2.4.11],
   link:RelNotes/2.4.10.txt[2.4.10],
   link:RelNotes/2.4.9.txt[2.4.9],
diff --git a/shell.c b/shell.c
index ace62e4b6503d821962242f9cf3bd9af22bc39b9..c3bf8ec38a3e310a87df3831fb079094462abd81 100644 (file)
--- a/shell.c
+++ b/shell.c
@@ -13,7 +13,7 @@ static int do_generic_cmd(const char *me, char *arg)
        const char *my_argv[4];
 
        setup_path();
-       if (!arg || !(arg = sq_dequote(arg)))
+       if (!arg || !(arg = sq_dequote(arg)) || *arg == '-')
                die("bad argument");
        if (!starts_with(me, "git-"))
                die("bad command");