From 2f649ee4cbea50aaf88ae480ecfe36651dd135a2 Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Fri, 22 Jul 2016 19:29:20 +0200 Subject: PHP 5.4.45 with security fix from 5.5.38 --- bug72513.patch | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 bug72513.patch (limited to 'bug72513.patch') diff --git a/bug72513.patch b/bug72513.patch new file mode 100644 index 0000000..5580e46 --- /dev/null +++ b/bug72513.patch @@ -0,0 +1,48 @@ +From 0218acb7e756a469099c4ccfb22bce6c2bd1ef87 Mon Sep 17 00:00:00 2001 +From: Stanislav Malyshev +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; -- cgit