49 lines
1.8 KiB
Diff
49 lines
1.8 KiB
Diff
|
From 0218acb7e756a469099c4ccfb22bce6c2bd1ef87 Mon Sep 17 00:00:00 2001
|
||
|
From: Stanislav Malyshev <stas@php.net>
|
||
|
Date: Tue, 12 Jul 2016 21:48:00 -0700
|
||
|
Subject: [PATCH] Fix for bug #72513
|
||
|
|
||
|
---
|
||
|
TSRM/tsrm_virtual_cwd.c | 8 ++++----
|
||
|
1 file changed, 4 insertions(+), 4 deletions(-)
|
||
|
|
||
|
diff --git a/TSRM/tsrm_virtual_cwd.c b/TSRM/tsrm_virtual_cwd.c
|
||
|
index ba92711..6c22ee8 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;
|