diff --git a/src/map/clif.c b/src/map/clif.c index 35e8646fd7..01fabf6d9c 100644 --- a/src/map/clif.c +++ b/src/map/clif.c @@ -13032,6 +13032,9 @@ void clif_parse_Mail_getattach(int fd, struct map_session_data *sd) if( sd->mail.inbox.msg[i].zeny < 1 && (sd->mail.inbox.msg[i].item.nameid < 1 || sd->mail.inbox.msg[i].item.amount < 1) ) return; + if( ( sd->mail.inbox.msg[i].zeny + sd->mail.inbox.msg[i].zeny ) > MAX_ZENY ) + return; + if( sd->mail.inbox.msg[i].item.nameid > 0 ) { struct item_data *data; diff --git a/src/map/mail.c b/src/map/mail.c index 3f72fc435b..dfa7889e06 100644 --- a/src/map/mail.c +++ b/src/map/mail.c @@ -52,7 +52,8 @@ int mail_removeitem(struct map_session_data *sd, short flag) int mail_removezeny(struct map_session_data *sd, short flag) { nullpo_ret(sd); - + if( ( sd->status.zeny + sd->mail.zeny ) > MAX_ZENY ) + return 1; if (flag && sd->mail.zeny > 0) { //Zeny send log_zeny(sd, LOG_TYPE_MAIL, sd, -sd->mail.zeny);