diff options
author | Remi Collet <fedora@famillecollet.com> | 2016-07-22 19:29:20 +0200 |
---|---|---|
committer | Remi Collet <fedora@famillecollet.com> | 2016-07-22 19:29:20 +0200 |
commit | a49c6c5a453edf008ea33de49d45857b073cca5a (patch) | |
tree | 4998725d27ecd1601402dbfb2ce022f3a6e71707 /bug72513.patch | |
parent | 0b0e2b3e69a37928c17214c9e37cd22a1a2059d6 (diff) |
PHP 5.4.45 with security fix from 5.5.38
Diffstat (limited to 'bug72513.patch')
-rw-r--r-- | bug72513.patch | 48 |
1 files changed, 48 insertions, 0 deletions
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 <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; |