Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:rkwasny
php
php-5.1.2-phpbug-36016.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File php-5.1.2-phpbug-36016.patch of Package php
--- main/main.c +++ main/main.c @@ -18,7 +18,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: main.c,v 1.640.2.13 2006/01/01 12:50:17 sniper Exp $ */ +/* $Id: main.c,v 1.640.2.14 2006/01/16 09:09:37 dmitry Exp $ */ /* {{{ includes */ @@ -322,10 +322,8 @@ STD_PHP_INI_BOOLEAN("allow_url_fopen", "1", PHP_INI_SYSTEM, OnUpdateBool, allow_url_fopen, php_core_globals, core_globals) STD_PHP_INI_BOOLEAN("always_populate_raw_post_data", "0", PHP_INI_SYSTEM|PHP_INI_PERDIR, OnUpdateBool, always_populate_raw_post_data, php_core_globals, core_globals) -#ifdef REALPATH_CACHE STD_PHP_INI_ENTRY("realpath_cache_size", "16K", PHP_INI_SYSTEM, OnUpdateLong, realpath_cache_size_limit, virtual_cwd_globals, cwd_globals) STD_PHP_INI_ENTRY("realpath_cache_ttl", "120", PHP_INI_SYSTEM, OnUpdateLong, realpath_cache_ttl, virtual_cwd_globals, cwd_globals) -#endif PHP_INI_END() /* }}} */ --- TSRM/tsrm_virtual_cwd.c +++ TSRM/tsrm_virtual_cwd.c @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: tsrm_virtual_cwd.c,v 1.74.2.4 2006/01/01 12:50:00 sniper Exp $ */ +/* $Id: tsrm_virtual_cwd.c,v 1.74.2.6 2006/01/16 09:12:22 dmitry Exp $ */ #include <sys/types.h> #include <sys/stat.h> @@ -163,18 +163,15 @@ static void cwd_globals_ctor(virtual_cwd_globals *cwd_globals TSRMLS_DC) { CWD_STATE_COPY(&cwd_globals->cwd, &main_cwd_state); -#ifdef REALPATH_CACHE cwd_globals->realpath_cache_size = 0; cwd_globals->realpath_cache_size_limit = REALPATH_CACHE_SIZE; cwd_globals->realpath_cache_ttl = REALPATH_CACHE_TTL; memset(cwd_globals->realpath_cache, 0, sizeof(cwd_globals->realpath_cache)); -#endif } static void cwd_globals_dtor(virtual_cwd_globals *cwd_globals TSRMLS_DC) { CWD_STATE_FREE(&cwd_globals->cwd); -#ifdef REALPATH_CACHE { int i; @@ -187,7 +184,6 @@ } } } -#endif } static char *tsrm_strndup(const char *s, size_t length) @@ -308,7 +304,6 @@ return buf; } -#ifdef REALPATH_CACHE static inline unsigned long realpath_cache_key(const char *path, int path_len) { register unsigned long h; @@ -352,19 +347,18 @@ while (*bucket != NULL) { if (CWDG(realpath_cache_ttl) && (*bucket)->expires < t) { realpath_cache_bucket *r = *bucket; - *bucket = (*bucket)->next; - CWDG(realpath_cache_size) -= sizeof(realpath_cache_bucket) + r->path_len + 1 + r->realpath_len + 1; - free(r); + *bucket = (*bucket)->next; + CWDG(realpath_cache_size) -= sizeof(realpath_cache_bucket) + r->path_len + 1 + r->realpath_len + 1; + free(r); } else if (key == (*bucket)->key && path_len == (*bucket)->path_len && memcmp(path, (*bucket)->path, path_len) == 0) { return *bucket; } else { - *bucket = (*bucket)->next; + bucket = &(*bucket)->next; } } return NULL; } -#endif /* Resolve path relatively to state and put the real path into state */ @@ -385,20 +379,17 @@ #else char *new_path; #endif -#ifdef REALPATH_CACHE char orig_path[MAXPATHLEN]; int orig_path_len; realpath_cache_bucket *bucket; time_t t; TSRMLS_FETCH(); -#endif if (path_length == 0) return (0); if (path_length >= MAXPATHLEN) return (1); -#ifdef REALPATH_CACHE if (use_realpath && CWDG(realpath_cache_size_limit)) { if (IS_ABSOLUTE_PATH(path, path_length) || (state->cwd_length < 1)) { memcpy(orig_path, path, path_length+1); @@ -430,7 +421,6 @@ } } } -#endif #if !defined(TSRM_WIN32) && !defined(NETWARE) /* cwd_length can be 0 when getcwd() fails. * This can happen under solaris when a dir does not have read permissions @@ -609,11 +599,9 @@ #endif free(free_path); -#ifdef REALPATH_CACHE if (use_realpath && CWDG(realpath_cache_size_limit)) { realpath_cache_add(orig_path, orig_path_len, state->cwd, state->cwd_length, t TSRMLS_CC); } -#endif if (verify_path && verify_path(state)) { CWD_STATE_FREE(state); --- TSRM/tsrm_virtual_cwd.h +++ TSRM/tsrm_virtual_cwd.h @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: tsrm_virtual_cwd.h,v 1.48.2.1 2006/01/01 12:50:00 sniper Exp $ */ +/* $Id: tsrm_virtual_cwd.h,v 1.48.2.2 2006/01/16 09:09:37 dmitry Exp $ */ #ifndef VIRTUAL_CWD_H #define VIRTUAL_CWD_H @@ -195,11 +195,9 @@ CWD_API int virtual_file_ex(cwd_state *state, const char *path, verify_path_func verify_path, int use_realpath); -#define REALPATH_CACHE #define REALPATH_CACHE_TTL (2*60) /* 2 minutes */ #define REALPATH_CACHE_SIZE 0 /* disabled while php.ini isn't loaded */ -#ifdef REALPATH_CACHE typedef struct _realpath_cache_bucket { unsigned long key; char *path; @@ -209,16 +207,13 @@ time_t expires; struct _realpath_cache_bucket *next; } realpath_cache_bucket; -#endif typedef struct _virtual_cwd_globals { cwd_state cwd; -#ifdef REALPATH_CACHE long realpath_cache_size; long realpath_cache_size_limit; long realpath_cache_ttl; realpath_cache_bucket *realpath_cache[1024]; -#endif } virtual_cwd_globals; #ifdef ZTS
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor