summaryrefslogtreecommitdiff
path: root/ext/rpc/com
diff options
context:
space:
mode:
authorHarald Radi <phanto@php.net>2002-04-26 18:20:45 +0000
committerHarald Radi <phanto@php.net>2002-04-26 18:20:45 +0000
commit51241dba943130d8909e4c8838a6128bcb5a369d (patch)
treef6687059a617548194f42bbd271614adf5c754bb /ext/rpc/com
parentce39ba7265862bacb1da32d870dafb6b009dfb30 (diff)
downloadphp-git-51241dba943130d8909e4c8838a6128bcb5a369d.tar.gz
this patch should fix a bug where intermediate comvals were not
released before they were freed. this caused outproc com server to belive that they still referenced even when the php process already terminated.
Diffstat (limited to 'ext/rpc/com')
-rw-r--r--ext/rpc/com/com_wrapper.h5
1 files changed, 2 insertions, 3 deletions
diff --git a/ext/rpc/com/com_wrapper.h b/ext/rpc/com/com_wrapper.h
index 99c17782df..62d08c3acd 100644
--- a/ext/rpc/com/com_wrapper.h
+++ b/ext/rpc/com/com_wrapper.h
@@ -30,8 +30,7 @@ END_EXTERN_C()
ALLOC_HASHTABLE(properties); \
zend_hash_init(properties, 0, NULL, ZVAL_PTR_DTOR, 0); \
\
- ALLOC_ZVAL(handle); \
- INIT_PZVAL(handle); \
+ MAKE_STD_ZVAL(handle); \
ZVAL_LONG(handle, zend_list_insert((o), IS_COM)); \
\
zval_copy_ctor(handle); \
@@ -46,7 +45,7 @@ END_EXTERN_C()
#define ALLOC_COM(z) (z) = (comval *) emalloc(sizeof(comval)); \
C_REFCOUNT(z) = 0;
-#define FREE_COM(z) efree(z);
+#define FREE_COM(z) php_COM_destruct(z TSRMLS_CC);
#define IS_COM php_COM_get_le_comval()