From: Junio C Hamano Date: Tue, 24 Oct 2006 01:26:05 +0000 (-0700) Subject: daemon: do not die on older clients. X-Git-Tag: v1.4.3.2~1 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=83543a24c316de60b886cd98272fde2bcc99d558;p=git.git daemon: do not die on older clients. In the older times, the clients did not say which host they were trying to connect, and the code we recently added did not quite handle the older clients correctly. Noticed by Simon Arlott. Signed-off-by: Junio C Hamano --- diff --git a/daemon.c b/daemon.c index ad8492873..e66bb802d 100644 --- a/daemon.c +++ b/daemon.c @@ -450,6 +450,8 @@ void fill_in_extra_table_entries(struct interp *itable) * Replace literal host with lowercase-ized hostname. */ hp = interp_table[INTERP_SLOT_HOST].value; + if (!hp) + return; for ( ; *hp; hp++) *hp = tolower(*hp); @@ -544,8 +546,10 @@ static int execute(struct sockaddr *addr) loginfo("Extended attributes (%d bytes) exist <%.*s>", (int) pktlen - len, (int) pktlen - len, line + len + 1); - if (len && line[len-1] == '\n') + if (len && line[len-1] == '\n') { line[--len] = 0; + pktlen--; + } /* * Initialize the path interpolation table for this connection.