From 66844b9f4a4c72055dc352ac5c94fb3d84204b3b Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Mon, 11 Feb 2019 18:32:14 +0300 Subject: Fix buffer size issue in inter server packets Fixes #2369 --- src/char/mapif.c | 6 +++--- src/map/intif.c | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/char/mapif.c b/src/char/mapif.c index 73b7fd46d..fb904a46d 100644 --- a/src/char/mapif.c +++ b/src/char/mapif.c @@ -569,7 +569,7 @@ static int mapif_guild_withdraw(int guild_id, int account_id, int char_id, int f // Send short member's info static int mapif_guild_memberinfoshort(struct guild *g, int idx) { - unsigned char buf[23]; + unsigned char buf[25]; nullpo_ret(g); Assert_ret(idx >= 0 && idx < MAX_GUILD); WBUFW(buf, 0) = 0x3835; @@ -1423,7 +1423,7 @@ static int mapif_parse_PartyLeaderChange(int fd, int party_id, int account_id, i static int mapif_pet_created(int fd, int account_id, struct s_pet *p) { - WFIFOHEAD(fd, 12); + WFIFOHEAD(fd, 14); WFIFOW(fd, 0) = 0x3880; WFIFOL(fd, 2) = account_id; if (p != NULL){ @@ -1805,7 +1805,7 @@ static void mapif_rodex_checkname(int fd, int reqchar_id, int target_char_id, in Assert_retv(reqchar_id > 0); Assert_retv(target_char_id >= 0); - WFIFOHEAD(fd, 16 + NAME_LENGTH); + WFIFOHEAD(fd, 18 + NAME_LENGTH); WFIFOW(fd, 0) = 0x3898; WFIFOL(fd, 2) = reqchar_id; WFIFOL(fd, 6) = target_char_id; diff --git a/src/map/intif.c b/src/map/intif.c index 18b41fe04..8028d4474 100644 --- a/src/map/intif.c +++ b/src/map/intif.c @@ -77,7 +77,7 @@ static int intif_create_pet(int account_id, int char_id, int pet_class, int pet_ if (intif->CheckForCharServer()) return 0; nullpo_ret(pet_name); - WFIFOHEAD(inter_fd, 28 + NAME_LENGTH); + WFIFOHEAD(inter_fd, 32 + NAME_LENGTH); WFIFOW(inter_fd, 0) = 0x3080; WFIFOL(inter_fd, 2) = account_id; WFIFOL(inter_fd, 6) = char_id; @@ -907,7 +907,7 @@ static int intif_guild_memberinfoshort(int guild_id, int account_id, int char_id { if (intif->CheckForCharServer()) return 0; - WFIFOHEAD(inter_fd, 19); + WFIFOHEAD(inter_fd, 23); WFIFOW(inter_fd, 0) = 0x3035; WFIFOL(inter_fd, 2) = guild_id; WFIFOL(inter_fd, 6) = account_id; -- cgit v1.2.3-70-g09d2