summaryrefslogtreecommitdiff
path: root/ext/soap/php_encoding.c
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@php.net>2004-02-06 14:22:33 +0000
committerDmitry Stogov <dmitry@php.net>2004-02-06 14:22:33 +0000
commit6ae97a5b250ba87d960c2df4090846ffa8a6551a (patch)
tree975050dfd1311d6acd18d758e7e3b7c134cca2fb /ext/soap/php_encoding.c
parent88c1168941e03b7ac0728002bbf0fc39f6c62d20 (diff)
downloadphp-git-6ae97a5b250ba87d960c2df4090846ffa8a6551a.tar.gz
WSDL cache was disabled by default (see WSDL_CACHE macro)
WSDL related memory leaks were fixed
Diffstat (limited to 'ext/soap/php_encoding.c')
-rw-r--r--ext/soap/php_encoding.c21
1 files changed, 18 insertions, 3 deletions
diff --git a/ext/soap/php_encoding.c b/ext/soap/php_encoding.c
index 3a7f3a243c..69768b67d5 100644
--- a/ext/soap/php_encoding.c
+++ b/ext/soap/php_encoding.c
@@ -2600,13 +2600,28 @@ void delete_encoder(void *encode)
{
encodePtr t = *((encodePtr*)encode);
if (t->details.ns) {
- free(t->details.ns);
+ sdl_free(t->details.ns);
}
if (t->details.type_str) {
- free(t->details.type_str);
+ sdl_free(t->details.type_str);
}
if (t->details.map) {
delete_mapping(t->details.map);
}
- free(t);
+ sdl_free(t);
+}
+
+void delete_tmp_encoder(void *encode)
+{
+ encodePtr t = *((encodePtr*)encode);
+ if (t->details.ns) {
+ efree(t->details.ns);
+ }
+ if (t->details.type_str) {
+ efree(t->details.type_str);
+ }
+ if (t->details.map) {
+ delete_mapping(t->details.map);
+ }
+ efree(t);
}