Fix memory leak in libpq when using sslmode=verify-full
authorMichael Paquier
Tue, 21 Apr 2020 22:27:45 +0000 (07:27 +0900)
committerMichael Paquier
Tue, 21 Apr 2020 22:27:45 +0000 (07:27 +0900)
Checking if Subject Alternative Names (SANs) from a certificate match
with the hostname connected to leaked memory after each lookup done.

This is broken since acd08d7 that added support for SANs in SSL
certificates, so backpatch down to 9.5.

Author: Roman Peshkurov
Reviewed-by: Hamid Akhtar, Michael Paquier, David Steele
Discussion: https://postgr.es/m/CALLDf-pZ-E3mjxd5=bnHsDu9zHEOnpgPgdnO84E2RuwMCjjyPw@mail.gmail.com
Backpatch-through: 9.5

src/interfaces/libpq/fe-secure-openssl.c

index c8b8d0703959b5c8da6f04da4b7c9a6ed09dda7d..073335fdfd59df019d38ab7578900be7c73b6406 100644 (file)
@@ -550,7 +550,7 @@ pgtls_verify_peer_name_matches_certificate_guts(PGconn *conn,
            if (rc != 0)
                break;
        }
-       sk_GENERAL_NAME_free(peer_san);
+       sk_GENERAL_NAME_pop_free(peer_san, GENERAL_NAME_free);
    }
 
    /*