In a v2 smart-http conversation, the server should reply to our initial
request with a pkt-line saying "version 2". We check that with
starts_with(), but really that should be the only thing in that packet.
A response of "version 20" should not match.

Let's tighten this check to use strcmp(). Note that we don't need to
worry about a trailing newline here, because the ptk-line code will have
chomped it for us already.

Signed-off-by: Jeff King <p...@peff.net>
---
 remote-curl.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/remote-curl.c b/remote-curl.c
index c78ba83744..bb7421023b 100644
--- a/remote-curl.c
+++ b/remote-curl.c
@@ -374,7 +374,7 @@ static void check_smart_http(struct discovery *d, const 
char *service,
                d->len = reader.src_len;
                d->proto_git = 1;
 
-       } else if (starts_with(reader.line, "version 2")) {
+       } else if (!strcmp(reader.line, "version 2")) {
                /*
                 * v2 smart http; do not consume version packet, which will
                 * be handled elsewhere.
-- 
2.20.1.1122.g2972e48916

Reply via email to