Date: Monday, June 11, 2012 @ 05:02:25 Author: pierre Revision: 161425
Backport patches from svn trunk Fixes FS#29708 Added: php-apc/trunk/svn.patch Modified: php-apc/trunk/PKGBUILD -----------+ PKGBUILD | 9 +++-- svn.patch | 108 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 114 insertions(+), 3 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2012-06-11 08:17:21 UTC (rev 161424) +++ PKGBUILD 2012-06-11 09:02:25 UTC (rev 161425) @@ -3,18 +3,21 @@ pkgname=php-apc pkgver=3.1.10 -pkgrel=2 +pkgrel=3 arch=('i686' 'x86_64') pkgdesc='A free, open, and robust framework for caching and optimizing PHP intermediate code' url='http://pecl.php.net/package/APC' depends=('php') license=('PHP') -source=("http://pecl.php.net/get/APC-${pkgver}.tgz") +source=("http://pecl.php.net/get/APC-${pkgver}.tgz" + 'svn.patch') backup=('etc/php/conf.d/apc.ini') -md5sums=('f4a6b91903d6ba9dce89fc87bb6f26c9') +md5sums=('f4a6b91903d6ba9dce89fc87bb6f26c9' + 'ce07a1b49b5af496e16362899df3e3c4') build() { cd $srcdir/APC-$pkgver + patch -p0 -i ${srcdir}/svn.patch phpize ./configure --prefix=/usr make Added: svn.patch =================================================================== --- svn.patch (rev 0) +++ svn.patch 2012-06-11 09:02:25 UTC (rev 161425) @@ -0,0 +1,108 @@ +Index: apc_string.c +=================================================================== +--- apc_string.c (Revision 325040) ++++ apc_string.c (Revision 326091) +@@ -91,17 +91,18 @@ + p = p->pNext; + } + +- if (APCSG(interned_strings_top) + ZEND_MM_ALIGNED_SIZE(sizeof(Bucket) + nKeyLength) >= ++ if (APCSG(interned_strings_top) + ZEND_MM_ALIGNED_SIZE(sizeof(Bucket) + nKeyLength + 1) >= + APCSG(interned_strings_end)) { + /* no memory */ + return NULL; + } + + p = (Bucket *) APCSG(interned_strings_top); +- APCSG(interned_strings_top) += ZEND_MM_ALIGNED_SIZE(sizeof(Bucket) + nKeyLength); ++ APCSG(interned_strings_top) += ZEND_MM_ALIGNED_SIZE(sizeof(Bucket) + nKeyLength + 1); + + p->arKey = (char*)(p+1); + memcpy(p->arKey, arKey, nKeyLength); ++ ((char *)p->arKey)[nKeyLength] = '\0'; + p->nKeyLength = nKeyLength; + p->h = h; + p->pData = &p->pDataPtr; +@@ -154,7 +155,7 @@ + } + + if (ce->name) { +- ce->name = apc_new_interned_string(ce->name, ce->name_length TSRMLS_CC); ++ ce->name = apc_new_interned_string(ce->name, ce->name_length+1 TSRMLS_CC); + } + + q = ce->properties_info.pListHead; +@@ -166,7 +167,7 @@ + } + + if (info->name) { +- info->name = apc_new_interned_string(info->name, info->name_length TSRMLS_CC); ++ info->name = apc_new_interned_string(info->name, info->name_length+1 TSRMLS_CC); + } + + q = q->pListNext; +Index: apc.php +=================================================================== +--- apc.php (Revision 325040) ++++ apc.php (Revision 326091) +@@ -91,7 +91,7 @@ + 'SORT1' => '/^[AHSMCDTZ]$/', // first sort key + 'SORT2' => '/^[DA]$/', // second sort key + 'AGGR' => '/^\d+$/', // aggregation by dir level +- 'SEARCH' => '~^[a-zA-Z0-1/_.-]*$~' // aggregation by dir level ++ 'SEARCH' => '~^[a-zA-Z0-9/_.-]*$~' // aggregation by dir level + ); + + // default cache mode +Index: php_apc.c +=================================================================== +--- php_apc.c (Revision 325040) ++++ php_apc.c (Revision 326091) +@@ -724,6 +724,10 @@ + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s|lz", &strkey, &strkey_len, &(args.step), &success) == FAILURE) { + return; + } ++ ++ if (success) { ++ zval_dtor(success); ++ } + + if(_apc_update(strkey, strkey_len, inc_updater, &args TSRMLS_CC)) { + if(success) ZVAL_TRUE(success); +@@ -747,6 +751,10 @@ + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s|lz", &strkey, &strkey_len, &(args.step), &success) == FAILURE) { + return; + } ++ ++ if (success) { ++ zval_dtor(success); ++ } + + args.step = args.step * -1; + +Index: php_apc.h +=================================================================== +--- php_apc.h (Revision 325040) ++++ php_apc.h (Revision 326091) +@@ -35,7 +35,7 @@ + #include "apc_php.h" + #include "apc_globals.h" + +-#define PHP_APC_VERSION "3.1.9" ++#define PHP_APC_VERSION "3.1.10" + + extern zend_module_entry apc_module_entry; + #define apc_module_ptr &apc_module_entry +Index: apc_cache.c +=================================================================== +--- apc_cache.c (Revision 325040) ++++ apc_cache.c (Revision 326091) +@@ -944,7 +944,7 @@ + + len = strlen(filename); + if(APCG(fpstat)==0) { +- if(IS_ABSOLUTE_PATH(filename,len)) { ++ if(IS_ABSOLUTE_PATH(filename,len) || strstr(filename, "://")) { + key->data.fpfile.fullpath = filename; + key->data.fpfile.fullpath_len = len; + key->h = string_nhash_8(key->data.fpfile.fullpath, key->data.fpfile.fullpath_len);