Skip to content

Commit 45bc8f9

Browse files
committed
Add missing error checks on EVP_MD_CTX_create() and EVP_VerifyInit()
The first one returns NULL on error, and the second one returns 0 on error. These weren't checked.
1 parent 729f006 commit 45bc8f9

File tree

1 file changed

+9
-1
lines changed

1 file changed

+9
-1
lines changed

ext/phar/util.c

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1579,7 +1579,15 @@ int phar_verify_signature(php_stream *fp, size_t end_of_phar, uint32_t sig_type,
15791579
}
15801580

15811581
md_ctx = EVP_MD_CTX_create();
1582-
EVP_VerifyInit(md_ctx, mdtype);
1582+
if (!md_ctx || !EVP_VerifyInit(md_ctx, mdtype)) {
1583+
if (md_ctx) {
1584+
EVP_MD_CTX_destroy(md_ctx);
1585+
}
1586+
if (error) {
1587+
spprintf(error, 0, "openssl signature could not be verified");
1588+
}
1589+
return FAILURE;
1590+
}
15831591
read_len = end_of_phar;
15841592

15851593
if ((size_t)read_len > sizeof(buf)) {

0 commit comments

Comments
 (0)