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>
Imre Deak committed
Mar 20, 2010 at 04:23 UTC
e9bd32351078d1f664a1608763a92ab402b255f0
1 file changed
+1
-1
daemon.c
+1
-1
@@ -420,7 +420,7 @@ static void parse_host_and_port(char *hostport, char **host,
420
*host = hostport;
421
*port = strrchr(hostport, ':');
422
if (*port) {
423
- *port = '\0';
423
+ **port = '\0';
424
++*port;
425
}
426
}