Fix assorted error-cleanup bugs in SSL min/max protocol version code.
authorTom Lane <[email protected]>
Sun, 2 Feb 2020 18:09:33 +0000 (13:09 -0500)
committerTom Lane <[email protected]>
Sun, 2 Feb 2020 18:09:33 +0000 (13:09 -0500)
commit6148e2b9a6399b77e10e277c32d701b84703820f
treec057fdcd5c7bad408e91bb24e9a690197d3b35d2
parent1fd687a035558238c0e3cab09fc22dc61a088869
Fix assorted error-cleanup bugs in SSL min/max protocol version code.

The error exits added to initialize_SSL() failed to clean up the
partially-built SSL_context, and some of them also leaked the
result of SSLerrmessage().  Make them match other error-handling
cases in that function.

The error exits added to connectOptions2() failed to set conn->status
like every other error exit in that function.

In passing, make the SSL_get_peer_certificate() error exit look more
like all the other calls of SSLerrmessage().

Oversights in commit ff8ca5fad.  Coverity whined about leakage of the
SSLerrmessage() results; I noted the rest in manual code review.
src/interfaces/libpq/fe-connect.c
src/interfaces/libpq/fe-secure-openssl.c