summaryrefslogtreecommitdiff
path: root/ext/openssl/xp_ssl.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/openssl/xp_ssl.c')
-rw-r--r--ext/openssl/xp_ssl.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/ext/openssl/xp_ssl.c b/ext/openssl/xp_ssl.c
index 11bea41295..4c4bfaddd3 100644
--- a/ext/openssl/xp_ssl.c
+++ b/ext/openssl/xp_ssl.c
@@ -637,7 +637,9 @@ static int php_openssl_win_cert_verify_callback(X509_STORE_CTX *x509_store_ctx,
OPENSSL_free(der_buf);
if (cert_ctx == NULL) {
- php_error_docref(NULL, E_WARNING, "Error creating certificate context: %s", php_win_err());
+ char *err = php_win_err();
+ php_error_docref(NULL, E_WARNING, "Error creating certificate context: %s", err);
+ php_win_err_free(err);
RETURN_CERT_VERIFY_FAILURE(SSL_R_CERTIFICATE_VERIFY_FAILED);
}
}
@@ -659,7 +661,9 @@ static int php_openssl_win_cert_verify_callback(X509_STORE_CTX *x509_store_ctx,
chain_flags = CERT_CHAIN_CACHE_END_CERT | CERT_CHAIN_REVOCATION_CHECK_CHAIN_EXCLUDE_ROOT;
if (!CertGetCertificateChain(NULL, cert_ctx, NULL, NULL, &chain_params, chain_flags, NULL, &cert_chain_ctx)) {
- php_error_docref(NULL, E_WARNING, "Error getting certificate chain: %s", php_win_err());
+ char *err = php_win_err();
+ php_error_docref(NULL, E_WARNING, "Error getting certificate chain: %s", err);
+ php_win_err_free(err);
CertFreeCertificateContext(cert_ctx);
RETURN_CERT_VERIFY_FAILURE(SSL_R_CERTIFICATE_VERIFY_FAILED);
}
@@ -743,7 +747,9 @@ static int php_openssl_win_cert_verify_callback(X509_STORE_CTX *x509_store_ctx,
CertFreeCertificateContext(cert_ctx);
if (!verify_result) {
- php_error_docref(NULL, E_WARNING, "Error verifying certificate chain policy: %s", php_win_err());
+ char *err = php_win_err();
+ php_error_docref(NULL, E_WARNING, "Error verifying certificate chain policy: %s", err);
+ php_win_err_free(err);
RETURN_CERT_VERIFY_FAILURE(SSL_R_CERTIFICATE_VERIFY_FAILED);
}