projects
/
m6w6
/
ext-psi
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
|
github
raw
|
inline
| side by side
fix leaks
[m6w6/ext-psi]
/
src
/
types
/
let_func.c
diff --git
a/src/types/let_func.c
b/src/types/let_func.c
index ae8832fe8be6b61449c725ce80aa9a0a54fd04a2..ea2f371907ef46c973fdafdad429c2417516e1d0 100644
(file)
--- a/
src/types/let_func.c
+++ b/
src/types/let_func.c
@@
-350,11
+350,12
@@
static void *exec_let_func_arrval(struct psi_let_exp *val,
if (frame_arg->zval_ptr) {
while (psi_plist_get(func->inner, i++, &inner)) {
if (frame_arg->zval_ptr) {
while (psi_plist_get(func->inner, i++, &inner)) {
- darg_member = psi_decl_arg_get_by_name(darg_members,
-
psi_let_exp_get_decl_var_name(inner)
);
+ zend_string *var_name = psi_let_exp_get_decl_var_name(inner);
+
darg_member = psi_decl_arg_get_by_name(darg_members, var_name
);
exec_let_func_arrval_inner(func, darg, darg_member, frame_arg,
inner, container, frame);
exec_let_func_arrval_inner(func, darg, darg_member, frame_arg,
inner, container, frame);
+ zend_string_release(var_name);
}
}
} else if (func->inner) {
}
}
} else if (func->inner) {