cvs: php4 /ext/midgard midgard.c

From: Date: Wed, 21 Feb 2001 12:21:02 +0000
Subject: cvs: php4 /ext/midgard midgard.c
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-4183@lists.php.net to get a copy of this message
davidg Wed Feb 21 04:21:02 2001 EDT Modified files: /php4/ext/midgard midgard.c Log: used dynamic alloc to avoid segfault ;) Index: php4/ext/midgard/midgard.c diff -u php4/ext/midgard/midgard.c:1.9 php4/ext/midgard/midgard.c:1.10 --- php4/ext/midgard/midgard.c:1.9 Tue Feb 20 16:29:34 2001 +++ php4/ext/midgard/midgard.c Wed Feb 21 04:21:01 2001 @@ -1,4 +1,4 @@ -/* $Id: midgard.c,v 1.9 2001/02/21 00:29:34 davidg Exp $ +/* $Id: midgard.c,v 1.10 2001/02/21 12:21:01 davidg Exp $ Copyright (C) 1999 Jukka Zitting <jukka.zitting@iki.fi> Copyright (C) 2000 The Midgard Project ry Copyright (C) 2000 Emile Heyns, Aurora SA <emile@iris-advies.com> @@ -707,13 +707,14 @@ void midgard_user_call_func(midgard *mgd, int id, int level, void *xparam) { - zval z_id, z_level, z_xparam, *args[3]={&z_id,&z_level,&z_xparam}; + zval *args[3]; zval ** xp = (zval **)xparam; - zval retval, *return_value = &retval; //just to make sure + zval *return_value; - ZVAL_LONG(args[0], id); - ZVAL_LONG(args[1], level); - args[2] = xp[0]; + ALLOC_ZVAL(return_value); ZVAL_NULL(return_value); + ALLOC_ZVAL(args[0]); ZVAL_LONG(args[0], id); + ALLOC_ZVAL(args[1]); ZVAL_LONG(args[1], level); + args[2] = xp[0]; // DG: is this needed ? -> zval_copy_ctor(args[2]); if(call_user_function(CG(function_table), NULL, xp[1], return_value, 3, @@ -722,7 +723,9 @@ (xp[1])->value.str.val); return; } - + zval_dtor(return_value); + zval_dtor(args[0]); + zval_dtor(args[1]); } #endif /* HAVE_MIDGARD */

« previous php.cvs (#4183) next »