summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2017-05-05 12:46:53 +0900
committerJunio C Hamano <gitster@pobox.com>2017-05-05 12:46:53 +0900
commit531788af951cbaf5356363f66c54594b555bdde3 (patch)
tree167b967eada37e8340c7708ad84173ce4e5fd2af
parente568e563ade00bbb0937162f405fc160f253e224 (diff)
parent4000b4020911512eea10667dd5c97a0b4890e098 (diff)
downloadgit-531788af951cbaf5356363f66c54594b555bdde3.tar.gz
Merge branch 'maint-2.4' into maint-2.5
-rw-r--r--Documentation/RelNotes/2.4.12.txt12
-rw-r--r--Documentation/git.txt3
-rw-r--r--shell.c2
3 files changed, 15 insertions, 2 deletions
diff --git a/Documentation/RelNotes/2.4.12.txt b/Documentation/RelNotes/2.4.12.txt
new file mode 100644
index 0000000000..7d15f94725
--- /dev/null
+++ b/Documentation/RelNotes/2.4.12.txt
@@ -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").
diff --git a/Documentation/git.txt b/Documentation/git.txt
index fe5fefe230..c64ffa81d8 100644
--- a/Documentation/git.txt
+++ b/Documentation/git.txt
@@ -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 ace62e4b65..c3bf8ec38a 100644
--- 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");