[PATCH] daemon: parse_host_and_port SIGSEGV if port is specified
- From
- imre.deak@nokia.com <imre.deak@nokia.com>
- Date
- Mar 20, 2010, 02:23 UTC
- Message-ID
- <1269051838-25734-1-git-send-email-imre.deak@nokia.com>
From: Imre Deak <imre.deak@gmail.com>
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> --- daemon.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/daemon.c b/daemon.c index 3769b6f..7d9e1c0 100644 --- a/daemon.c +++ b/daemon.c @@ -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; } }
-- 1.7.0.2