summaryrefslogtreecommitdiff
path: root/src/map/chrif.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/map/chrif.c')
-rw-r--r--src/map/chrif.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/map/chrif.c b/src/map/chrif.c
index 969157acd..db59e4097 100644
--- a/src/map/chrif.c
+++ b/src/map/chrif.c
@@ -543,6 +543,14 @@ void chrif_authok(int fd)
struct mmo_charstatus *status = (struct mmo_charstatus *)RFIFOP(fd, 20);
int char_id = status->char_id;
TBL_PC* sd;
+
+ //Check if both servers agree on the struct's size
+ if( RFIFOW(fd,2) - 20 != sizeof(struct mmo_charstatus) )
+ {
+ ShowError("chrif_authok: Data size mismatch! %d != %d\n", RFIFOW(fd,2) - 20, sizeof(struct mmo_charstatus));
+ return;
+ }
+
//Check if we don't already have player data in our server
//Causes problems if the currently connected player tries to quit or this data belongs to an already connected player which is trying to re-auth.
if ((sd = map_id2sd(account_id)) != NULL)