summaryrefslogtreecommitdiff
path: root/main/streams/streams.c
diff options
context:
space:
mode:
authorMarcus Boerger <helly@php.net>2007-03-03 19:01:34 +0000
committerMarcus Boerger <helly@php.net>2007-03-03 19:01:34 +0000
commit0ad927dbf25be686fa108d81f0aee69943a638e9 (patch)
tree8e853b77b277fe78117166c2f1b62daa61fcc420 /main/streams/streams.c
parente769e1b49eb4d0c3e531cdc6d9364b7e11220640 (diff)
downloadphp-git-0ad927dbf25be686fa108d81f0aee69943a638e9.tar.gz
- MFH A stream wrapper might only allow directory access
Diffstat (limited to 'main/streams/streams.c')
-rwxr-xr-xmain/streams/streams.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/main/streams/streams.c b/main/streams/streams.c
index f132227eaf..188e4a9c65 100755
--- a/main/streams/streams.c
+++ b/main/streams/streams.c
@@ -1769,10 +1769,14 @@ PHPAPI php_stream *_php_stream_open_wrapper_ex(char *path, char *mode, int optio
}
if (wrapper) {
-
- stream = wrapper->wops->stream_opener(wrapper,
+ if (!wrapper->wops->stream_opener) {
+ php_stream_wrapper_log_error(wrapper, options ^ REPORT_ERRORS TSRMLS_CC,
+ "wrapper does not support stream open");
+ } else {
+ stream = wrapper->wops->stream_opener(wrapper,
path_to_open, mode, options ^ REPORT_ERRORS,
opened_path, context STREAMS_REL_CC TSRMLS_CC);
+ }
/* if the caller asked for a persistent stream but the wrapper did not
* return one, force an error here */