- Fixed buffer overflow in clif_MainChatMessage. It now prints a Debug message with the offending line.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@6195 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
skotlex 2006-04-20 19:30:24 +00:00
parent 29f72fce9b
commit d6cb791e3c
2 changed files with 7 additions and 2 deletions

View File

@ -4,6 +4,8 @@ AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO
IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK. IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.
2006/04/20 2006/04/20
* Fixed buffer overflow in clif_MainChatMessage. It now prints a Debug
message with the offending line. [Skotlex]
* Cleaned up a bunch of GS/NJ skills [Skotlex] * Cleaned up a bunch of GS/NJ skills [Skotlex]
* Fixed Gatling Fever crashing server when used by non players. [Skotlex] * Fixed Gatling Fever crashing server when used by non players. [Skotlex]
* Added support for n to specify minutes to @charban. [Skotlex] * Added support for n to specify minutes to @charban. [Skotlex]

View File

@ -4802,14 +4802,17 @@ void clif_GlobalMessage(struct block_list *bl,char *message)
*/ */
void clif_MainChatMessage(char* message) { void clif_MainChatMessage(char* message) {
char buf[100]; char buf[128];
int len; int len;
if(!message) if(!message)
return; return;
len = strlen(message)+1; len = strlen(message)+1;
if (len+8 > sizeof(buf)) {
ShowDebug("clif_MainChatMessage: Received message too long (len %d): %s\n", len, message);
len = sizeof(buf)-8;
}
WBUFW(buf,0)=0x8d; WBUFW(buf,0)=0x8d;
WBUFW(buf,2)=len+8; WBUFW(buf,2)=len+8;
WBUFL(buf,4)=0; WBUFL(buf,4)=0;