Skip to content

Commit 15bdc85

Browse files
committed
Merge branch 'PHP-8.2'
* PHP-8.2: Add missing check on EVP_VerifyUpdate() in phar util
2 parents a7f7022 + 3ee2ade commit 15bdc85

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

ext/phar/util.c

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1605,7 +1605,9 @@ int phar_verify_signature(php_stream *fp, size_t end_of_phar, uint32_t sig_type,
16051605
php_stream_seek(fp, 0, SEEK_SET);
16061606

16071607
while (read_size && (len = php_stream_read(fp, (char*)buf, read_size)) > 0) {
1608-
EVP_VerifyUpdate (md_ctx, buf, len);
1608+
if (UNEXPECTED(EVP_VerifyUpdate (md_ctx, buf, len) == 0)) {
1609+
goto failure;
1610+
}
16091611
read_len -= (zend_off_t)len;
16101612

16111613
if (read_len < read_size) {
@@ -1614,6 +1616,7 @@ int phar_verify_signature(php_stream *fp, size_t end_of_phar, uint32_t sig_type,
16141616
}
16151617

16161618
if (EVP_VerifyFinal(md_ctx, (unsigned char *)sig, sig_len, key) != 1) {
1619+
failure:
16171620
/* 1: signature verified, 0: signature does not match, -1: failed signature operation */
16181621
EVP_PKEY_free(key);
16191622
EVP_MD_CTX_destroy(md_ctx);

0 commit comments

Comments
 (0)