From: Junio C Hamano Date: Sat, 20 Mar 2010 15:49:23 GMT Subject: Re: [PATCH] daemon: parse_host_and_port SIGSEGV if port is specified Message-ID: <7vk4t7kn7g.fsf@alter.siamese.dyndns.org> In-Reply-To: <1269051838-25734-1-git-send-email-imre.deak@nokia.com> imre.deak@nokia.com writes: > From: Imre Deak > > 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://...:. > > 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 > --- I wonder why I have this feeling that I've seen this patch before... Thanks. > 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