summaryrefslogtreecommitdiff
path: root/ext/soap/php_encoding.c
diff options
context:
space:
mode:
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);
}