diff options
author | Stanislav Malyshev <stas@php.net> | 2016-07-12 21:48:00 -0700 |
---|---|---|
committer | Stanislav Malyshev <stas@php.net> | 2016-07-12 22:03:09 -0700 |
commit | 0218acb7e756a469099c4ccfb22bce6c2bd1ef87 (patch) | |
tree | 311b565bf25063ea982ee6a9e3b079891385d797 | |
parent | aca4f65c7e98b9f07ac625eaf6be8eadbeb55929 (diff) | |
download | php-git-0218acb7e756a469099c4ccfb22bce6c2bd1ef87.tar.gz |
Fix for bug #72513
-rw-r--r-- | TSRM/tsrm_virtual_cwd.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/TSRM/tsrm_virtual_cwd.c b/TSRM/tsrm_virtual_cwd.c index ba92711f89..6c22ee85b2 100644 --- a/TSRM/tsrm_virtual_cwd.c +++ b/TSRM/tsrm_virtual_cwd.c @@ -621,14 +621,14 @@ CWD_API void realpath_cache_del(const char *path, int path_len TSRMLS_DC) /* {{{ memcmp(path, (*bucket)->path, path_len) == 0) { realpath_cache_bucket *r = *bucket; *bucket = (*bucket)->next; - + /* if the pointers match then only subtract the length of the path */ if(r->path == r->realpath) { CWDG(realpath_cache_size) -= sizeof(realpath_cache_bucket) + r->path_len + 1; } else { CWDG(realpath_cache_size) -= sizeof(realpath_cache_bucket) + r->path_len + 1 + r->realpath_len + 1; } - + free(r); return; } else { @@ -704,7 +704,7 @@ static inline realpath_cache_bucket* realpath_cache_find(const char *path, int p realpath_cache_bucket *r = *bucket; *bucket = (*bucket)->next; - /* if the pointers match then only subtract the length of the path */ + /* if the pointers match then only subtract the length of the path */ if(r->path == r->realpath) { CWDG(realpath_cache_size) -= sizeof(realpath_cache_bucket) + r->path_len + 1; } else { @@ -1159,7 +1159,7 @@ CWD_API int virtual_file_ex(cwd_state *state, const char *path, verify_path_func int add_slash; void *tmp; - if (path_length == 0 || path_length >= MAXPATHLEN-1) { + if (path_length <= 0 || path_length >= MAXPATHLEN-1) { #ifdef TSRM_WIN32 # if _MSC_VER < 1300 errno = EINVAL; |