]> granicus.if.org Git - php/commitdiff
-A stream wrapper might only allow directory access
authorMarcus Boerger <helly@php.net>
Sat, 3 Mar 2007 18:59:53 +0000 (18:59 +0000)
committerMarcus Boerger <helly@php.net>
Sat, 3 Mar 2007 18:59:53 +0000 (18:59 +0000)
main/streams/streams.c

index 8717ce00cea55187c1dc913ec824768bca05b825..305461512afab9c18044ea85e1b392c611d3818b 100755 (executable)
@@ -2388,10 +2388,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, implicit_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 */