- Applied Rayce's dangling pointer fix when returning a temporary npc string variable (those starting with .@)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9864 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
parent
74bbb42178
commit
81b4f30221
@ -4,6 +4,8 @@ AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO
|
||||
IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.
|
||||
|
||||
2007/02/13
|
||||
* Applied Rayce's dangling pointer fix when returning a temporary npc
|
||||
string variable (those starting with .@)
|
||||
* Required Weapon, ammo, and skill state are now only checked on begin
|
||||
casting, instead of both on begin and end casting.
|
||||
2007/02/12
|
||||
|
@ -4325,6 +4325,12 @@ BUILDIN_FUNC(return)
|
||||
if( name[0] == '.' && name[1] == '@') {
|
||||
// '@ 変数を参照渡しにすると危険なので値渡しにする
|
||||
get_val(st,sd);
|
||||
//Fix dangling pointer crash due when returning a temporary
|
||||
// script variable (from Rayce/jA)
|
||||
if(isstr(sd)) {
|
||||
sd->type = C_STR;
|
||||
sd->u.str = (char *)aStrdup(sd->u.str);
|
||||
}
|
||||
} else if( name[0] == '.' && !sd->ref) {
|
||||
// ' 変数は参照渡しでも良いが、参照元が設定されていないと
|
||||
// 元のスクリプトの値を差してしまうので補正する。
|
||||
|
Loading…
x
Reference in New Issue
Block a user