Better handling of verify param id peername field
[openssl.git] / crypto / x509 / x509_vfy.c
index 7d770c52ab5493eae0d78464d5b833e2f9b76c56..45d53a0f484137877e3edda47218be18ca435578 100644 (file)
@@ -767,6 +767,10 @@ static int check_hosts(X509 *x, X509_VERIFY_PARAM_ID *id)
     int n = sk_OPENSSL_STRING_num(id->hosts);
     char *name;
 
+    if (id->peername != NULL) {
+        OPENSSL_free(id->peername);
+        id->peername = NULL;
+    }
     for (i = 0; i < n; ++i) {
         name = sk_OPENSSL_STRING_value(id->hosts, i);
         if (X509_check_host(x, name, 0, id->hostflags, &id->peername) > 0)