From de9953f09ca1be9c28b7b5d1ed313ebc50014ad6 Mon Sep 17 00:00:00 2001 From: Lupus Date: Wed, 16 Mar 2005 20:45:05 +0000 Subject: fixed hack/spoof STORAGE+TRADE windows duper (with packets snpooffing) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/branches/stable@1239 54d463be-8e91-2dee-dedb-b68131a5f0ec --- src/map/trade.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/map/trade.c b/src/map/trade.c index b9a22a79a..7bb6f77f5 100644 --- a/src/map/trade.c +++ b/src/map/trade.c @@ -12,6 +12,7 @@ #include "npc.h" #include "battle.h" #include "chrif.h" +#include "storage.h" #include "intif.h" #include "atcommand.h" @@ -57,7 +58,7 @@ void trade_traderequest(struct map_session_data *sd, int target_id) { */ void trade_tradeack(struct map_session_data *sd, int type) { struct map_session_data *target_sd; - + struct storage *stor; nullpo_retv(sd); if ((target_sd = map_id2sd(sd->trade_partner)) != NULL) { @@ -73,6 +74,15 @@ void trade_tradeack(struct map_session_data *sd, int type) { npc_event_dequeue(sd); if (target_sd->npc_id != 0) npc_event_dequeue(target_sd); + + //close STORAGE window if it's open. It protects from spooffing packets [Lupus] + nullpo_retv(stor=account2storage2(sd->status.account_id)); + if(stor->storage_status == 1) { + if (sd->state.storage_flag) //is it Guild Storage or Common + storage_guild_storageclose(sd); + else + storage_storageclose(sd); + }//END OF STORAGE CLOSE } } -- cgit v1.2.3-70-g09d2