diff options
author | Dennis Friis <peavey@placid.dk> | 2008-04-10 17:18:21 +0000 |
---|---|---|
committer | Dennis Friis <peavey@placid.dk> | 2008-04-10 17:18:21 +0000 |
commit | 4ba8a054266c78e6ec4edc5b70d5b42ce2bee344 (patch) | |
tree | 71c0c927c1b6eaa3ee5cb2b196fce8a6fd01c299 /src/map/intif.c | |
parent | 80611a4186d4aa4fda481055b98e98a910c0778b (diff) | |
download | tmwa-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.c | 6 |
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); |