diff options
author | Imre Deak <imre.deak@gmail.com> | 2010-03-20 04:23:58 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2010-03-20 08:49:31 -0700 |
commit | e9bd32351078d1f664a1608763a92ab402b255f0 (patch) | |
tree | d3637d1ef8dae320fc9197203475708c51666147 | |
parent | c40d92e4c73b44d9cb4c3ba3a0ab53464964369c (diff) | |
download | git-e9bd32351078d1f664a1608763a92ab402b255f0.tar.gz git-e9bd32351078d1f664a1608763a92ab402b255f0.tar.xz |
daemon: parse_host_and_port SIGSEGV if port is specified
This typo will lead to git-daemon dying any time the connect
string includes a port after the host= attribute. This can lead
for example to one of the following error messages on the client
side when someone tries git clone git://...:<port>.
When the daemon is running on localhost:
fatal: The remote end hung up unexpectedly
or when the daemon is connected through an ssh tunnel:
fatal: protocol error: bad line length character: erro
In the latter case 'erro' comes from the daemon's reply:
error: git-daemon died of signal 11
Signed-off-by: Imre Deak <imre.deak@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r-- | daemon.c | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -420,7 +420,7 @@ static void parse_host_and_port(char *hostport, char **host, *host = hostport; *port = strrchr(hostport, ':'); if (*port) { - *port = '\0'; + **port = '\0'; ++*port; } } |