summaryrefslogtreecommitdiff
path: root/main/fopen_wrappers.c
diff options
context:
space:
mode:
authorNikita Popov <nikita.ppv@gmail.com>2019-12-30 22:47:38 +0100
committerNikita Popov <nikita.ppv@gmail.com>2019-12-30 22:56:42 +0100
commitf77747b06c7623c4f673c75aebbe3372411a4275 (patch)
tree3cc7bba3949818ab66f236111d221926d296d805 /main/fopen_wrappers.c
parentd1537e506edb48790c72a93e1d8505ef2c3e4dd3 (diff)
downloadphp-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.c6
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;
}