andrey Tue Jun 16 07:53:35 2009 UTC
Modified files: (Branch: PHP_5_3)
/php-src/ext/mysqlnd mysqlnd_palloc.c
Log:
MFH:
Use Zend's allocator instead of libc's and also don't try to work on
zvals that are NULLs.
http://cvs.php.net/viewvc.cgi/php-src/ext/mysqlnd/mysqlnd_palloc.c?r1=1.2.2.18&r2=1.2.2.19&diff_format=u
Index: php-src/ext/mysqlnd/mysqlnd_palloc.c
diff -u php-src/ext/mysqlnd/mysqlnd_palloc.c:1.2.2.18
php-src/ext/mysqlnd/mysqlnd_palloc.c:1.2.2.19
--- php-src/ext/mysqlnd/mysqlnd_palloc.c:1.2.2.18 Thu Jun 11 08:30:08 2009
+++ php-src/ext/mysqlnd/mysqlnd_palloc.c Tue Jun 16 07:53:35 2009
@@ -18,7 +18,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: mysqlnd_palloc.c,v 1.2.2.18 2009/06/11 08:30:08 andrey Exp $ */
+/* $Id: mysqlnd_palloc.c,v 1.2.2.19 2009/06/16 07:53:35 andrey Exp $ */
#include "php.h"
#include "mysqlnd.h"
#include "mysqlnd_priv.h"
@@ -139,7 +139,7 @@
/* {{{ _mysqlnd_palloc_init_thd_cache */
MYSQLND_THD_ZVAL_PCACHE* mysqlnd_palloc_init_thd_cache(MYSQLND_ZVAL_PCACHE *
const cache TSRMLS_DC)
{
- MYSQLND_THD_ZVAL_PCACHE *ret = calloc(1,
sizeof(MYSQLND_THD_ZVAL_PCACHE));
+ MYSQLND_THD_ZVAL_PCACHE *ret = mnd_ecalloc(1,
sizeof(MYSQLND_THD_ZVAL_PCACHE));
DBG_ENTER("_mysqlnd_palloc_init_thd_cache");
DBG_INF_FMT("ret = %p", ret);
@@ -161,7 +161,7 @@
ret->references = 1;
/* 1. Initialize the GC list */
- ret->gc_list.ptr_line = calloc(cache->max_items, sizeof(mysqlnd_zval
*));
+ ret->gc_list.ptr_line = mnd_ecalloc(cache->max_items,
sizeof(mysqlnd_zval *));
/* Backward and forward looping is possible */
ret->gc_list.last_added = ret->gc_list.ptr_line;
ret->gc_list.canary1 = (void*)0xCAFE;
@@ -233,8 +233,8 @@
UNLOCK_PCACHE(global_cache);
}
- mnd_free(thd_cache->gc_list.ptr_line);
- mnd_free(thd_cache);
+ mnd_efree(thd_cache->gc_list.ptr_line);
+ mnd_efree(thd_cache);
DBG_VOID_RETURN;
}
@@ -413,6 +413,9 @@
{
MYSQLND_ZVAL_PCACHE *cache;
DBG_ENTER("mysqlnd_palloc_zval_ptr_dtor");
+ if (!*zv) {
+ DBG_VOID_RETURN;
+ }
if (thd_cache) {
DBG_INF_FMT("cache=%p parent_block=%p last_in_block=%p *zv=%p
refc=%d type=%d ",
thd_cache,
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php