diff options
author | Nikita Popov <nikita.ppv@gmail.com> | 2019-12-30 22:47:38 +0100 |
---|---|---|
committer | Nikita Popov <nikita.ppv@gmail.com> | 2019-12-30 22:56:42 +0100 |
commit | f77747b06c7623c4f673c75aebbe3372411a4275 (patch) | |
tree | 3cc7bba3949818ab66f236111d221926d296d805 /main/fopen_wrappers.c | |
parent | d1537e506edb48790c72a93e1d8505ef2c3e4dd3 (diff) | |
download | php-git-f77747b06c7623c4f673c75aebbe3372411a4275.tar.gz |
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.
Diffstat (limited to 'main/fopen_wrappers.c')
-rw-r--r-- | main/fopen_wrappers.c | 6 |
1 files changed, 6 insertions, 0 deletions
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; } |