From f77747b06c7623c4f673c75aebbe3372411a4275 Mon Sep 17 00:00:00 2001 From: Nikita Popov Date: Mon, 30 Dec 2019 22:47:38 +0100 Subject: Properly propagate url_stat exceptions during include Make sure we abort operations early, and that we don't emit additional warnings or errors if an exception has been thrown. --- main/fopen_wrappers.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'main/fopen_wrappers.c') diff --git a/main/fopen_wrappers.c b/main/fopen_wrappers.c index b0bfa4feda..c85e0af7ab 100644 --- a/main/fopen_wrappers.c +++ b/main/fopen_wrappers.c @@ -561,6 +561,9 @@ PHPAPI zend_string *php_resolve_path(const char *filename, size_t filename_lengt if (SUCCESS == wrapper->wops->url_stat(wrapper, trypath, 0, &ssb, NULL)) { return zend_string_init(trypath, strlen(trypath), 0); } + if (EG(exception)) { + return NULL; + } } continue; } @@ -598,6 +601,9 @@ PHPAPI zend_string *php_resolve_path(const char *filename, size_t filename_lengt if (SUCCESS == wrapper->wops->url_stat(wrapper, trypath, 0, &ssb, NULL)) { return zend_string_init(trypath, strlen(trypath), 0); } + if (EG(exception)) { + return NULL; + } } return NULL; } -- cgit v1.2.1