aboutsummaryrefslogtreecommitdiffstats
path: root/profile.c
diff options
context:
space:
mode:
Diffstat (limited to 'profile.c')
-rw-r--r--profile.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/profile.c b/profile.c
index 06dfb16a..b958e915 100644
--- a/profile.c
+++ b/profile.c
@@ -619,8 +619,6 @@ cleanup:
break;
case Op_indirect_func_call:
- t1 = pp_pop(); /* indirect var */
- pp_free(t1);
case Op_func_call:
{
char *fname = pc->func_name;
@@ -638,6 +636,10 @@ cleanup:
efree(tmp);
} else
str = pp_concat(pre, fname, "()");
+ if (pc->opcode == Op_indirect_func_call) {
+ t1 = pp_pop(); /* indirect var */
+ pp_free(t1);
+ }
pp_push(pc->opcode, str, CAN_FREE);
}
break;