1
0
mirror of https://github.com/php/php-src.git synced 2026-03-24 00:02:20 +01:00

Use EVP_MD_CTX_destroy() instead of EVP_MD_CTX_free() for compatibility and consistency

Closes GH-20748.
This commit is contained in:
Giovanni Giacobbi
2025-12-21 12:17:50 +01:00
committed by Niels Dossche
parent efde160ef4
commit f89a3503bf
2 changed files with 5 additions and 4 deletions

1
NEWS
View File

@@ -33,6 +33,7 @@ PHP NEWS
. Fixed bug GH-20732 (Phar::LoadPhar undefined behavior when reading fails).
(ndossche)
. Fix SplFileInfo::openFile() in write mode. (ndossche)
. Fix build on legacy OpenSSL 1.1.0 systems. (Giovanni Giacobbi)
- SPL:
. Fixed bug GH-20678 (resource created by GlobIterator crashes with fclose()).

View File

@@ -1905,7 +1905,7 @@ int phar_create_signature(phar_archive_data *phar, php_stream *fp, char **signat
if (!EVP_SignInit(md_ctx, mdtype)) {
EVP_PKEY_free(key);
EVP_MD_CTX_free(md_ctx);
EVP_MD_CTX_destroy(md_ctx);
efree(sigbuf);
if (error) {
spprintf(error, 0, "unable to initialize openssl signature for phar \"%s\"", phar->fname);
@@ -1916,7 +1916,7 @@ int phar_create_signature(phar_archive_data *phar, php_stream *fp, char **signat
while ((sig_len = php_stream_read(fp, (char*)buf, sizeof(buf))) > 0) {
if (!EVP_SignUpdate(md_ctx, buf, sig_len)) {
EVP_PKEY_free(key);
EVP_MD_CTX_free(md_ctx);
EVP_MD_CTX_destroy(md_ctx);
efree(sigbuf);
if (error) {
spprintf(error, 0, "unable to update the openssl signature for phar \"%s\"", phar->fname);
@@ -1927,7 +1927,7 @@ int phar_create_signature(phar_archive_data *phar, php_stream *fp, char **signat
if (!EVP_SignFinal (md_ctx, sigbuf, &siglen, key)) {
EVP_PKEY_free(key);
EVP_MD_CTX_free(md_ctx);
EVP_MD_CTX_destroy(md_ctx);
efree(sigbuf);
if (error) {
spprintf(error, 0, "unable to write phar \"%s\" with requested openssl signature", phar->fname);
@@ -1937,7 +1937,7 @@ int phar_create_signature(phar_archive_data *phar, php_stream *fp, char **signat
sigbuf[siglen] = '\0';
EVP_PKEY_free(key);
EVP_MD_CTX_free(md_ctx);
EVP_MD_CTX_destroy(md_ctx);
#else
size_t siglen;
sigbuf = NULL;