summaryrefslogtreecommitdiff
path: root/main/streams/glob_wrapper.c
diff options
context:
space:
mode:
Diffstat (limited to 'main/streams/glob_wrapper.c')
-rwxr-xr-xmain/streams/glob_wrapper.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/main/streams/glob_wrapper.c b/main/streams/glob_wrapper.c
index 48974d841d..afc4e128e8 100755
--- a/main/streams/glob_wrapper.c
+++ b/main/streams/glob_wrapper.c
@@ -209,7 +209,7 @@ static php_stream *php_glob_stream_opener(php_stream_wrapper *wrapper, char *pat
int options, char **opened_path, php_stream_context *context STREAMS_DC TSRMLS_DC)
{
glob_s_t *pglob;
- int ret;
+ int ret, path_len;
char *tmp, *pos;
if (((options & STREAM_DISABLE_OPEN_BASEDIR) == 0) && php_check_open_basedir(path TSRMLS_CC)) {
@@ -218,9 +218,12 @@ static php_stream *php_glob_stream_opener(php_stream_wrapper *wrapper, char *pat
if (!strncmp(path, "glob://", sizeof("glob://")-1)) {
path += sizeof("glob://")-1;
+ path_len = strlen(path);
if (opened_path) {
- *opened_path = estrdup(path);
+ *opened_path = estrndup(path, path_len);
}
+ } else {
+ path_len = strlen(path);
}
pglob = ecalloc(sizeof(*pglob), 1);