cvs: php4(EXPERIMENTAL) /ext/com COM.c conversion.c
| From: | Harald Radi | Date: | Thu, 26 Jul 2001 13:20:43 +0000 |
| Subject: | cvs: php4(EXPERIMENTAL) /ext/com COM.c conversion.c | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-6352@lists.php.net to get a copy of this message | ||
phanto Thu Jul 26 09:20:43 2001 EDT
Modified files: (Branch: EXPERIMENTAL)
/php4/ext/com COM.c conversion.c
Log:
fixed a few memory issues
Index: php4/ext/com/COM.c
diff -u php4/ext/com/COM.c:1.29.2.2 php4/ext/com/COM.c:1.29.2.3
--- php4/ext/com/COM.c:1.29.2.2 Wed Jul 18 15:40:37 2001
+++ php4/ext/com/COM.c Thu Jul 26 09:20:43 2001
@@ -1452,7 +1452,8 @@
php_variant_to_pval(var_result, return_value, 0, codepage);
}
- FREE_VARIANT(var_result);
+// FREE_VARIANT(var_result);
+ efree(var_result);
efree(arguments);
}
Index: php4/ext/com/conversion.c
diff -u php4/ext/com/conversion.c:1.22.2.3 php4/ext/com/conversion.c:1.22.2.4
--- php4/ext/com/conversion.c:1.22.2.3 Tue Jul 24 05:42:48 2001
+++ php4/ext/com/conversion.c Thu Jul 26 09:20:43 2001
@@ -529,11 +529,11 @@
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 @@
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 @@
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;