瀏覽代碼

Fixed memory issue with fakename in parseGlobalMessage, bugreport:5192

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@15349 54d463be-8e91-2dee-dedb-b68131a5f0ec
shennetsind 13 年之前
父節點
當前提交
0eff5adcfc
共有 1 個文件被更改,包括 2 次插入1 次删除
  1. 2 1
      src/map/clif.c

+ 2 - 1
src/map/clif.c

@@ -9122,7 +9122,7 @@ void clif_parse_GlobalMessage(int fd, struct map_session_data* sd)
 	 * Fake Name Design by FatalEror (bug report #9)
 	 **/
 	if( ( is_fake = ( sd->fakename[0] ) ) ) {
-		fakename = (char*) malloc(strlen(sd->fakename)+messagelen+3);
+		fakename = (char*) aMalloc(strlen(sd->fakename)+messagelen+3);
 		strcpy(fakename, sd->fakename);
 		strcat(fakename, " : ");
 		strcat(fakename, message);
@@ -9142,6 +9142,7 @@ void clif_parse_GlobalMessage(int fd, struct map_session_data* sd)
 		WFIFOW(fd,0) = 0x8e;
 		WFIFOW(fd,2) = textlen + 4;
 		safestrncpy((char*)WFIFOP(fd,4), fakename, textlen);
+		aFree(fakename);
 	} else {
 		memcpy(WFIFOP(fd,0), RFIFOP(fd,0), RFIFOW(fd,2));
 		WFIFOW(fd,0) = 0x8e;