diff options
author | Harald Radi <phanto@php.net> | 2001-07-26 13:20:44 +0000 |
---|---|---|
committer | Harald Radi <phanto@php.net> | 2001-07-26 13:20:44 +0000 |
commit | bd21994bed159fbb87763aee1063396fab558d1d (patch) | |
tree | ddbc524f3fc3600267e54f756b398a5bbae11b4b | |
parent | 89ee53a211254d868576625f9abfd60514100c0a (diff) | |
download | php-git-bd21994bed159fbb87763aee1063396fab558d1d.tar.gz |
fixed a few memory issues
-rw-r--r-- | ext/com/COM.c | 3 | ||||
-rw-r--r-- | ext/com/conversion.c | 11 | ||||
-rw-r--r-- | ext/rpc/com/com_wrapper.c | 3 | ||||
-rw-r--r-- | ext/rpc/com/conversion.c | 11 |
4 files changed, 10 insertions, 18 deletions
diff --git a/ext/com/COM.c b/ext/com/COM.c index 3431bc5754..7ffc9fffdd 100644 --- a/ext/com/COM.c +++ b/ext/com/COM.c @@ -1452,7 +1452,8 @@ PHPAPI void php_COM_call_function_handler(INTERNAL_FUNCTION_PARAMETERS, zend_pro php_variant_to_pval(var_result, return_value, 0, codepage); } - FREE_VARIANT(var_result); +// FREE_VARIANT(var_result); + efree(var_result); efree(arguments); } diff --git a/ext/com/conversion.c b/ext/com/conversion.c index 5d3325cafc..1bf6ed86ee 100644 --- a/ext/com/conversion.c +++ b/ext/com/conversion.c @@ -529,11 +529,11 @@ PHPAPI int php_variant_to_pval(VARIANT *var_arg, pval *pval_arg, int persistent, hr = SafeArrayGetElement(array, indices, (VOID *) &(vv.lVal)); } if (FAILED(hr)) - { + { /* Failure to retieve an element probably means the array is sparse */ /* So leave the php array sparse too */ continue; - } + } /* Create an element to be added to the array */ ALLOC_ZVAL(element); /* Call ourself again to handle the base type conversion */ @@ -560,10 +560,7 @@ PHPAPI int php_variant_to_pval(VARIANT *var_arg, pval *pval_arg, int persistent, add_index_zval(pval_arg, ii, element); } } - SafeArrayUnlock(array); - /* Clean up the SafeArray since that is our responsibility */ - SafeArrayDestroyData(array); - SafeArrayDestroyDescriptor(array); + SafeArrayUnlock(array); } else switch(var_arg->vt & ~VT_BYREF) { @@ -683,13 +680,11 @@ PHPAPI int php_variant_to_pval(VARIANT *var_arg, pval *pval_arg, int persistent, if(V_ISBYREF(var_arg)) { Z_STRVAL_P(pval_arg) = php_OLECHAR_to_char(*V_BSTRREF(var_arg), &Z_STRLEN_P(pval_arg), persistent, codepage); - SysFreeString(*V_BSTRREF(var_arg)); efree(V_BSTRREF(var_arg)); } else { Z_STRVAL_P(pval_arg) = php_OLECHAR_to_char(V_BSTR(var_arg), &Z_STRLEN_P(pval_arg), persistent, codepage); - SysFreeString(V_BSTR(var_arg)); } Z_TYPE_P(pval_arg) = IS_STRING; diff --git a/ext/rpc/com/com_wrapper.c b/ext/rpc/com/com_wrapper.c index 3431bc5754..7ffc9fffdd 100644 --- a/ext/rpc/com/com_wrapper.c +++ b/ext/rpc/com/com_wrapper.c @@ -1452,7 +1452,8 @@ PHPAPI void php_COM_call_function_handler(INTERNAL_FUNCTION_PARAMETERS, zend_pro php_variant_to_pval(var_result, return_value, 0, codepage); } - FREE_VARIANT(var_result); +// FREE_VARIANT(var_result); + efree(var_result); efree(arguments); } diff --git a/ext/rpc/com/conversion.c b/ext/rpc/com/conversion.c index 5d3325cafc..1bf6ed86ee 100644 --- a/ext/rpc/com/conversion.c +++ b/ext/rpc/com/conversion.c @@ -529,11 +529,11 @@ PHPAPI int php_variant_to_pval(VARIANT *var_arg, pval *pval_arg, int persistent, hr = SafeArrayGetElement(array, indices, (VOID *) &(vv.lVal)); } if (FAILED(hr)) - { + { /* Failure to retieve an element probably means the array is sparse */ /* So leave the php array sparse too */ continue; - } + } /* Create an element to be added to the array */ ALLOC_ZVAL(element); /* Call ourself again to handle the base type conversion */ @@ -560,10 +560,7 @@ PHPAPI int php_variant_to_pval(VARIANT *var_arg, pval *pval_arg, int persistent, add_index_zval(pval_arg, ii, element); } } - SafeArrayUnlock(array); - /* Clean up the SafeArray since that is our responsibility */ - SafeArrayDestroyData(array); - SafeArrayDestroyDescriptor(array); + SafeArrayUnlock(array); } else switch(var_arg->vt & ~VT_BYREF) { @@ -683,13 +680,11 @@ PHPAPI int php_variant_to_pval(VARIANT *var_arg, pval *pval_arg, int persistent, if(V_ISBYREF(var_arg)) { Z_STRVAL_P(pval_arg) = php_OLECHAR_to_char(*V_BSTRREF(var_arg), &Z_STRLEN_P(pval_arg), persistent, codepage); - SysFreeString(*V_BSTRREF(var_arg)); efree(V_BSTRREF(var_arg)); } else { Z_STRVAL_P(pval_arg) = php_OLECHAR_to_char(V_BSTR(var_arg), &Z_STRLEN_P(pval_arg), persistent, codepage); - SysFreeString(V_BSTR(var_arg)); } Z_TYPE_P(pval_arg) = IS_STRING; |