From 25fac517af46dd681e1fe9b9d5bd1406ff9d1108 Mon Sep 17 00:00:00 2001 From: skotlex Date: Fri, 17 Feb 2006 13:36:49 +0000 Subject: - Fixed the memory leak on opt_2str as pointed out by End of Exam - Fixed a few char SQL memory leaks as pointed out by End of Exam git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@5307 54d463be-8e91-2dee-dedb-b68131a5f0ec --- src/map/script.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src/map/script.c') diff --git a/src/map/script.c b/src/map/script.c index 19d52b026..6560d3281 100644 --- a/src/map/script.c +++ b/src/map/script.c @@ -9854,8 +9854,9 @@ void op_2str(struct script_state *st,int op,int sp1,int sp2) break; } - push_val(st->stack,C_INT,a); - + // Because push_val() overwrite stack_data[sp1], C_STR on stack_data[sp1] won't be freed. + // So, call push_val() after freeing strings. [jA1783] + // push_val(st->stack,C_INT,a); if(st->stack->stack_data[sp1].type==C_STR) { aFree(s1); @@ -9866,6 +9867,7 @@ void op_2str(struct script_state *st,int op,int sp1,int sp2) aFree(s2); st->stack->stack_data[sp2].type=C_INT; } + push_val(st->stack,C_INT,a); } /*========================================== * 񍀉Zq(l) -- cgit v1.2.3-70-g09d2