felipe          Fri Nov 28 15:36:34 2008 UTC

  Added files:                 
    /php-src/ext/sqlite3/tests  sqlite3_29_createfunction.phpt 

  Modified files:              
    /php-src/ext/sqlite3        sqlite3.c 
  Log:
  - Fixed memory leaks in createFunction and createAggregate methods
  
http://cvs.php.net/viewvc.cgi/php-src/ext/sqlite3/sqlite3.c?r1=1.22&r2=1.23&diff_format=u
Index: php-src/ext/sqlite3/sqlite3.c
diff -u php-src/ext/sqlite3/sqlite3.c:1.22 php-src/ext/sqlite3/sqlite3.c:1.23
--- php-src/ext/sqlite3/sqlite3.c:1.22  Thu Nov 27 19:02:45 2008
+++ php-src/ext/sqlite3/sqlite3.c       Fri Nov 28 15:36:34 2008
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: sqlite3.c,v 1.22 2008/11/27 19:02:45 dmitry Exp $ */
+/* $Id: sqlite3.c,v 1.23 2008/11/28 15:36:34 felipe Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
@@ -817,6 +817,7 @@
                MAKE_STD_ZVAL(func->func);
                *(func->func) = *callback_func;
                zval_copy_ctor(func->func);
+               INIT_PZVAL(func->func);
 
                func->argc = sql_func_num_args;
                func->next = db_obj->funcs;
@@ -876,10 +877,12 @@
                MAKE_STD_ZVAL(func->step);
                *(func->step) = *step_callback;
                zval_copy_ctor(func->step);
+               INIT_PZVAL(func->step);
 
                MAKE_STD_ZVAL(func->fini);
                *(func->fini) = *fini_callback;
                zval_copy_ctor(func->fini);
+               INIT_PZVAL(func->fini);
 
                func->argc = sql_func_num_args;
                func->next = db_obj->funcs;

http://cvs.php.net/viewvc.cgi/php-src/ext/sqlite3/tests/sqlite3_29_createfunction.phpt?view=markup&rev=1.1
Index: php-src/ext/sqlite3/tests/sqlite3_29_createfunction.phpt
+++ php-src/ext/sqlite3/tests/sqlite3_29_createfunction.phpt
--TEST--
SQLite3::createFunction - Basic test
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php

require_once(dirname(__FILE__) . '/new_db.inc');

$func = 'strtoupper';
var_dump($db->createfunction($func, $func));
var_dump($db->querySingle('SELECT strtoupper("test")'));

$func2 = 'strtolower';
var_dump($db->createfunction($func2, $func2));
var_dump($db->querySingle('SELECT strtolower("TEST")'));

var_dump($db->createfunction($func, $func2));
var_dump($db->querySingle('SELECT strtoupper("tEst")'));


?>
--EXPECTF--
bool(true)
%string|unicode%(4) "TEST"
bool(true)
%string|unicode%(4) "test"
bool(true)
%string|unicode%(4) "test"



-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to