openssl: fix bad memory free (regression)
[platform/upstream/curl.git] / lib / vtls / openssl.c
index 0a3e6a3..0a46f9d 100644 (file)
@@ -1223,7 +1223,7 @@ static CURLcode verifyhost(struct connectdata *conn, X509 *server_cert)
         if(ASN1_STRING_type(tmp) == V_ASN1_UTF8STRING) {
           j = ASN1_STRING_length(tmp);
           if(j >= 0) {
-            peer_CN = malloc(j+1);
+            peer_CN = OPENSSL_malloc(j+1);
             if(peer_CN) {
               memcpy(peer_CN, ASN1_STRING_get0_data(tmp), j);
               peer_CN[j] = '\0';
@@ -1249,7 +1249,7 @@ static CURLcode verifyhost(struct connectdata *conn, X509 *server_cert)
       CURLcode rc = Curl_convert_from_utf8(data, peer_CN, strlen(peer_CN));
       /* Curl_convert_from_utf8 calls failf if unsuccessful */
       if(rc) {
-        free(peer_CN);
+        OPENSSL_free(peer_CN);
         return rc;
       }
     }
@@ -1271,7 +1271,7 @@ static CURLcode verifyhost(struct connectdata *conn, X509 *server_cert)
       infof(data, " common name: %s (matched)\n", peer_CN);
     }
     if(peer_CN)
-      free(peer_CN);
+      OPENSSL_free(peer_CN);
   }
 
   return result;