openssl: Fix uninitialized variable use in NPN callback
authorTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
Wed, 21 May 2014 14:34:55 +0000 (23:34 +0900)
committerDaniel Stenberg <daniel@haxx.se>
Fri, 23 May 2014 15:00:07 +0000 (17:00 +0200)
commitc7638d93b0a2f24be7342fa9f902dab835dc837b
tree54f8b95f4ce4bf5087e864f6145645f9a1aae80c
parent3b65aeda52e9847fb05049472b16198bd5002ffc
openssl: Fix uninitialized variable use in NPN callback

OpenSSL passes out and outlen variable uninitialized to
select_next_proto_cb callback function.  If the callback function
returns SSL_TLSEXT_ERR_OK, the caller assumes the callback filled
values in out and outlen and processes as such.  Previously, if there
is no overlap in protocol lists, curl code does not fill any values in
these variables and returns SSL_TLSEXT_ERR_OK, which means we are
triggering undefined behavior.  valgrind warns this.

This patch fixes this issue by fallback to HTTP/1.1 if there is no
overlap.
lib/vtls/openssl.c