diff --git a/ext/dom/document.c b/ext/dom/document.c index 759086569afb..31b889125269 100644 --- a/ext/dom/document.c +++ b/ext/dom/document.c @@ -1157,6 +1157,9 @@ char *_dom_get_valid_file_path(char *source, char *resolved_path, int resolved_p int isFileUri = 0; uri = xmlCreateURI(); + if (uri == NULL) { + return NULL; + } escsource = xmlURIEscapeStr((xmlChar *) source, (xmlChar *) ":"); xmlParseURIReference(uri, (char *) escsource); xmlFree(escsource); diff --git a/ext/openssl/openssl.c b/ext/openssl/openssl.c index 0b0fa3b7d84a..8182fb3df382 100644 --- a/ext/openssl/openssl.c +++ b/ext/openssl/openssl.c @@ -7345,6 +7345,12 @@ PHP_FUNCTION(openssl_digest) sigbuf = zend_string_alloc(siglen, 0); md_ctx = EVP_MD_CTX_create(); + + // add check against NULL + if (md_ctx == NULL) { + RETURN_FALSE; + } + if (EVP_DigestInit(md_ctx, mdtype) && EVP_DigestUpdate(md_ctx, (unsigned char *)data, data_len) && EVP_DigestFinal (md_ctx, (unsigned char *)ZSTR_VAL(sigbuf), &siglen)) { diff --git a/ext/xmlreader/php_xmlreader.c b/ext/xmlreader/php_xmlreader.c index 137c12f7151a..4ec3cae16efb 100644 --- a/ext/xmlreader/php_xmlreader.c +++ b/ext/xmlreader/php_xmlreader.c @@ -212,6 +212,9 @@ char *_xmlreader_get_valid_file_path(char *source, char *resolved_path, int reso int isFileUri = 0; uri = xmlCreateURI(); + if (uri == NULL) { + return NULL; + } escsource = xmlURIEscapeStr((xmlChar *)source, (xmlChar *)":"); xmlParseURIReference(uri, (const char *)escsource); xmlFree(escsource); diff --git a/ext/xmlwriter/php_xmlwriter.c b/ext/xmlwriter/php_xmlwriter.c index 8fd5f1223d43..abb135780887 100644 --- a/ext/xmlwriter/php_xmlwriter.c +++ b/ext/xmlwriter/php_xmlwriter.c @@ -109,6 +109,9 @@ static char *_xmlwriter_get_valid_file_path(char *source, char *resolved_path, i int isFileUri = 0; uri = xmlCreateURI(); + if (uri == NULL) { + return NULL; + } escsource = xmlURIEscapeStr((xmlChar *)source, (xmlChar *) ":"); xmlParseURIReference(uri, (char *)escsource); xmlFree(escsource);