Browse Source

Fixed a potential map-server crash

Fixes #1398
Lemongrass3110 8 years ago
parent
commit
a03105b49d
1 changed files with 3 additions and 3 deletions
  1. 3 3
      src/map/clif.c

+ 3 - 3
src/map/clif.c

@@ -16900,11 +16900,11 @@ void clif_buyingstore_myitemlist(struct map_session_data* sd)
 /// 0814 <account id>.L <store name>.80B
 /// 0814 <account id>.L <store name>.80B
 void clif_buyingstore_entry(struct map_session_data* sd)
 void clif_buyingstore_entry(struct map_session_data* sd)
 {
 {
-	uint8 buf[86];
+	uint8 buf[MESSAGE_SIZE+6];
 
 
 	WBUFW(buf,0) = 0x814;
 	WBUFW(buf,0) = 0x814;
 	WBUFL(buf,2) = sd->bl.id;
 	WBUFL(buf,2) = sd->bl.id;
-	memcpy(WBUFP(buf,6), sd->message, MESSAGE_SIZE);
+	safestrncpy(WBUFCP(buf,6), sd->message, MESSAGE_SIZE);
 
 
 	clif_send(buf, packet_len(0x814), &sd->bl, AREA_WOS);
 	clif_send(buf, packet_len(0x814), &sd->bl, AREA_WOS);
 }
 }
@@ -16915,7 +16915,7 @@ void clif_buyingstore_entry_single(struct map_session_data* sd, struct map_sessi
 	WFIFOHEAD(fd,packet_len(0x814));
 	WFIFOHEAD(fd,packet_len(0x814));
 	WFIFOW(fd,0) = 0x814;
 	WFIFOW(fd,0) = 0x814;
 	WFIFOL(fd,2) = pl_sd->bl.id;
 	WFIFOL(fd,2) = pl_sd->bl.id;
-	memcpy(WFIFOP(fd,6), pl_sd->message, MESSAGE_SIZE);
+	safestrncpy(WFIFOCP(fd,6), pl_sd->message, MESSAGE_SIZE);
 	WFIFOSET(fd,packet_len(0x814));
 	WFIFOSET(fd,packet_len(0x814));
 }
 }