diff --git a/NEWS b/NEWS index 686c05e0b02..26b93c5bcb6 100644 --- a/NEWS +++ b/NEWS @@ -30,6 +30,7 @@ PHP NEWS filename causes a NULL pointer dereference). (nielsdos) . Fixed bug GH-13833 (Applying zero offset to null pointer in zend_hash.c). (nielsdos) + . Fix potential NULL pointer dereference before calling EVP_SignInit. (icy17) - PHPDBG: . Fixed bug GH-13827 (Null pointer access of type 'zval' in phpdbg_frame). diff --git a/ext/phar/util.c b/ext/phar/util.c index 70b475aa748..04efe89d8fc 100644 --- a/ext/phar/util.c +++ b/ext/phar/util.c @@ -1890,6 +1890,13 @@ int phar_create_signature(phar_archive_data *phar, php_stream *fp, char **signat } md_ctx = EVP_MD_CTX_create(); + if (md_ctx == NULL) { + EVP_PKEY_free(key); + if (error) { + spprintf(error, 0, "unable to initialize openssl signature for phar \"%s\"", phar->fname); + } + return FAILURE; + } siglen = EVP_PKEY_size(key); sigbuf = emalloc(siglen + 1);