From: Alessandro Ghedini Date: Thu, 19 Feb 2015 18:58:28 +0000 (+0100) Subject: nss: fix NPN/ALPN protocol negotiation X-Git-Tag: curl-7_41_0~14 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=63b4b8c7bdb66e492daa89e8c20a5018082ddd29;p=curl 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. --- 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; } }