diff options
author | ai4rei <ai4rei@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2010-12-01 20:57:47 +0000 |
---|---|---|
committer | ai4rei <ai4rei@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2010-12-01 20:57:47 +0000 |
commit | 1b968f83d51a3247e5ee528e77fb16942546141f (patch) | |
tree | eb5a0b0e11ef7a406aaf6a426f4d56fc9956c731 | |
parent | 8deb4dfef1f3a6b81a93af20eccc7026b308dcc0 (diff) | |
download | hercules-1b968f83d51a3247e5ee528e77fb16942546141f.tar.gz hercules-1b968f83d51a3247e5ee528e77fb16942546141f.tar.bz2 hercules-1b968f83d51a3247e5ee528e77fb16942546141f.tar.xz hercules-1b968f83d51a3247e5ee528e77fb16942546141f.zip |
* Fixed using main chat nick longer than 15 characters would cause a buffer overflow (bugreport:2671, since r5013).
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@14537 54d463be-8e91-2dee-dedb-b68131a5f0ec
-rw-r--r-- | Changelog-Trunk.txt | 1 | ||||
-rw-r--r-- | src/char/inter.c | 2 | ||||
-rw-r--r-- | src/char_sql/inter.c | 2 | ||||
-rw-r--r-- | src/map/map.c | 2 |
4 files changed, 4 insertions, 3 deletions
diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt index 097077d88..292fd6fb4 100644 --- a/Changelog-Trunk.txt +++ b/Changelog-Trunk.txt @@ -1,6 +1,7 @@ Date Added 2010/12/01 + * Fixed using main chat nick longer than 15 characters would cause a buffer overflow (bugreport:2671, since r5013). [Ai4rei] * Fixed bAutoSpellOnSkill bonuses could not be chained (bugreport:4421, since r13596). [Ai4rei] * Fixed NPC_TALK message being displayed with EOL character attached (bugreport:4596, since r14270). [Ai4rei] * Reverted change from r14533 and restored the 3rd field of mob_avail.txt being optional (bugreport:4599, since r14532). [Ai4rei] diff --git a/src/char/inter.c b/src/char/inter.c index 051d8117a..8d9cac99f 100644 --- a/src/char/inter.c +++ b/src/char/inter.c @@ -210,7 +210,7 @@ static int inter_config_read(const char *cfgName) { } else if(strcmpi(w1,"log_inter")==0) { log_inter = atoi(w2); } else if(strcmpi(w1, "main_chat_nick")==0){ // Main chat nick [LuzZza] - strcpy(main_chat_nick, w2); + safestrncpy(main_chat_nick, w2, sizeof(main_chat_nick)); #endif //TXT_SQL_CONVERT } else if (strcmpi(w1, "import") == 0) { inter_config_read(w2); diff --git a/src/char_sql/inter.c b/src/char_sql/inter.c index 2f5c2daff..97c48bdf1 100644 --- a/src/char_sql/inter.c +++ b/src/char_sql/inter.c @@ -235,7 +235,7 @@ static int inter_config_read(const char* cfgName) else if(!strcmpi(w1,"log_inter")) log_inter = atoi(w2); else if(!strcmpi(w1,"main_chat_nick")) - strcpy(main_chat_nick, w2); + safestrncpy(main_chat_nick, w2, sizeof(main_chat_nick)); #endif //TXT_SQL_CONVERT else if(!strcmpi(w1,"import")) inter_config_read(w2); diff --git a/src/map/map.c b/src/map/map.c index 5f4a1cf16..7fa7d4f7a 100644 --- a/src/map/map.c +++ b/src/map/map.c @@ -3205,7 +3205,7 @@ int inter_config_read(char *cfgName) continue; if(strcmpi(w1, "main_chat_nick")==0) - strcpy(main_chat_nick, w2); + safestrncpy(main_chat_nick, w2, sizeof(main_chat_nick)); #ifndef TXT_ONLY else |