summaryrefslogtreecommitdiff
path: root/src/map/intif.c
diff options
context:
space:
mode:
authorDennis Friis <peavey@placid.dk>2008-04-10 17:18:21 +0000
committerDennis Friis <peavey@placid.dk>2008-04-10 17:18:21 +0000
commit4ba8a054266c78e6ec4edc5b70d5b42ce2bee344 (patch)
tree71c0c927c1b6eaa3ee5cb2b196fce8a6fd01c299 /src/map/intif.c
parent80611a4186d4aa4fda481055b98e98a910c0778b (diff)
downloadtmwa-4ba8a054266c78e6ec4edc5b70d5b42ce2bee344.tar.gz
tmwa-4ba8a054266c78e6ec4edc5b70d5b42ce2bee344.tar.bz2
tmwa-4ba8a054266c78e6ec4edc5b70d5b42ce2bee344.tar.xz
tmwa-4ba8a054266c78e6ec4edc5b70d5b42ce2bee344.zip
Proper fix for rev 17
Diffstat (limited to 'src/map/intif.c')
-rw-r--r--src/map/intif.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/map/intif.c b/src/map/intif.c
index ace0187..3790d3b 100644
--- a/src/map/intif.c
+++ b/src/map/intif.c
@@ -585,7 +585,11 @@ int mapif_parse_WisToGM(int fd) { // 0x3003/0x3803 <packet_len>.w <wispname>.24B
struct map_session_data *pl_sd;
char Wisp_name[24];
char mbuf[255];
- char *message = ((RFIFOW(fd,2) - 30) >= sizeof(mbuf)) ? (char *) malloc((RFIFOW(fd,2) - 30)) : mbuf;
+
+ if (RFIFOW(fd,2)-30 <= 0)
+ return 0;
+
+ char *message = ((RFIFOW(fd,2) - 30) >= 255) ? (char *) malloc((RFIFOW(fd,2) - 30)) : mbuf;
min_gm_level = (int)RFIFOW(fd,28);
memcpy(Wisp_name, RFIFOP(fd,4), 24);