fix leak with strings!
[m6w6/ext-psi] / src / module.c
index dba74c595852c7260d9e1b91a76f7b630a812022..4e7f4ce61aa59ff0b8c2628055e38092de62abd2 100644 (file)
@@ -289,6 +289,18 @@ void psi_do_clean(impl *impl)
 {
        size_t i;
 
+       for (i = 0; i < impl->func->args->count; ++i ) {
+               impl_arg *iarg = impl->func->args->args[i];
+
+               switch (iarg->type->type) {
+               case PSI_T_STRING:
+                       if (iarg->val.str) {
+                               zend_string_release(iarg->val.str);
+                       }
+                       break;
+               }
+       }
+
        for (i = 0; i < impl->decl->args->count; ++i) {
                decl_arg *darg = impl->decl->args->args[i];