From 63b4b8c7bdb66e492daa89e8c20a5018082ddd29 Mon Sep 17 00:00:00 2001 From: Alessandro Ghedini Date: Thu, 19 Feb 2015 19:58:28 +0100 Subject: nss: fix NPN/ALPN protocol negotiation Correctly check for memcmp() return value (it returns 0 if the strings match). This is not really important, since curl is going to use http/1.1 anyway, but it's still a bug I guess. --- lib/vtls/nss.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'lib') diff --git a/lib/vtls/nss.c b/lib/vtls/nss.c index f55c4763e..16b9124f1 100644 --- a/lib/vtls/nss.c +++ b/lib/vtls/nss.c @@ -718,12 +718,11 @@ static void HandshakeCallback(PRFileDesc *sock, void *arg) } if(buflen == NGHTTP2_PROTO_VERSION_ID_LEN && - memcmp(NGHTTP2_PROTO_VERSION_ID, buf, NGHTTP2_PROTO_VERSION_ID_LEN) - == 0) { + !memcmp(NGHTTP2_PROTO_VERSION_ID, buf, NGHTTP2_PROTO_VERSION_ID_LEN)) { conn->negnpn = NPN_HTTP2; } - else if(buflen == ALPN_HTTP_1_1_LENGTH && memcmp(ALPN_HTTP_1_1, buf, - ALPN_HTTP_1_1_LENGTH)) { + else if(buflen == ALPN_HTTP_1_1_LENGTH && + !memcmp(ALPN_HTTP_1_1, buf, ALPN_HTTP_1_1_LENGTH)) { conn->negnpn = NPN_HTTP1_1; } } -- cgit v1.2.3