bugreport:2638 Fixed exploit which allowed items to be mailed while trading/in-npc/etc. (could cause item dupe on badly scripted npcs). super mega ultra plus master thanks to GM Takumirai.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@16369 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
shennetsind 2012-07-03 06:54:17 +00:00
parent e1a74751ca
commit 7207c06aeb

View File

@ -59,10 +59,12 @@ int mail_removezeny(struct map_session_data *sd, short flag)
return 1;
}
unsigned char mail_setitem(struct map_session_data *sd, int idx, int amount)
{
if( idx == 0 )
{ // Zeny Transfer
unsigned char mail_setitem(struct map_session_data *sd, int idx, int amount) {
if( pc_istrading(sd) )
return 1;
if( idx == 0 ) { // Zeny Transfer
if( amount < 0 || !pc_can_give_items(sd) )
return 1;
@ -72,9 +74,7 @@ unsigned char mail_setitem(struct map_session_data *sd, int idx, int amount)
sd->mail.zeny = amount;
// clif_updatestatus(sd, SP_ZENY);
return 0;
}
else
{ // Item Transfer
} else { // Item Transfer
idx -= 2;
mail_removeitem(sd, 0);