BIO_s_connect: add an error state and use it
authorRichard Levitte <levitte@openssl.org>
Tue, 13 Nov 2018 14:17:21 +0000 (15:17 +0100)
committerRichard Levitte <levitte@openssl.org>
Tue, 5 Nov 2019 21:17:12 +0000 (22:17 +0100)
commitf6483fc2db36fbfd622b6aff19d8ebfaa274c996
tree4826edb4dd1529f30ed75e12c77ced8379fb1ecf
parent7bb50cbc4af78a0c8d36fdf2c141ad1330125e2f
BIO_s_connect: add an error state and use it

If no connection could be made, addr_iter will eventually end up being
NULL, and if the user didn't check the returned error value, the
BIO_CONN_S_CONNECT code will be performed again and will crash.

So instead, we add a state BIO_CONN_S_CONNECT_ERROR that we enter into
when we run out of addresses to try.  That state will just simply say
"error" back, until the user does something better with the BIO, such
as free it or reset it.

Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/10333)
crypto/bio/bss_conn.c