summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorultramage <ultramage@54d463be-8e91-2dee-dedb-b68131a5f0ec>2007-12-19 20:56:37 +0000
committerultramage <ultramage@54d463be-8e91-2dee-dedb-b68131a5f0ec>2007-12-19 20:56:37 +0000
commitc71cb44f7aa952ba2516db6aae0edb15000e281f (patch)
treeed24f3be41741543851c58c5436ad4c92c54d69e
parenta6b815ce9fd7f6e7faaaaa1c5b56be655ee838be (diff)
downloadhercules-c71cb44f7aa952ba2516db6aae0edb15000e281f.tar.gz
hercules-c71cb44f7aa952ba2516db6aae0edb15000e281f.tar.bz2
hercules-c71cb44f7aa952ba2516db6aae0edb15000e281f.tar.xz
hercules-c71cb44f7aa952ba2516db6aae0edb15000e281f.zip
Fixed yet another buffer overflow, in @adopt
(caused by a conflict between a mass replace in r2207 and very dumb variable reuse in r1316) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11955 54d463be-8e91-2dee-dedb-b68131a5f0ec
-rw-r--r--Changelog-Trunk.txt1
-rw-r--r--src/map/atcommand.c13
2 files changed, 8 insertions, 6 deletions
diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt
index dbe617805..d6b7bd1e5 100644
--- a/Changelog-Trunk.txt
+++ b/Changelog-Trunk.txt
@@ -4,6 +4,7 @@ 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.
2007/12/19
+ * Fixed yet another buffer overflow, in @adopt [ultramage]
* Changes to the configure script. [FlavioJS]
- fixed the 'pointers can be stored in ints' test not working
- fixed the linker trying to build 64 bit executables with 32 bit code on
diff --git a/src/map/atcommand.c b/src/map/atcommand.c
index b90d2c6b6..34725dc12 100644
--- a/src/map/atcommand.c
+++ b/src/map/atcommand.c
@@ -7495,6 +7495,7 @@ int atcommand_adopt(const int fd, struct map_session_data* sd, const char* comma
struct map_session_data *pl_sd2 = NULL;
struct map_session_data *pl_sd3 = NULL;
char player1[NAME_LENGTH], player2[NAME_LENGTH], player3[NAME_LENGTH];
+ char output[256];
nullpo_retr(-1, sd);
@@ -7507,20 +7508,20 @@ int atcommand_adopt(const int fd, struct map_session_data* sd, const char* comma
printf("Adopting: --%s--%s--%s--\n",player1,player2,player3);
if((pl_sd1=map_nick2sd((char *) player1)) == NULL) {
- sprintf(player2, "Cannot find player %s online", player1);
- clif_displaymessage(fd, player2);
+ sprintf(output, "Cannot find player %s online", player1);
+ clif_displaymessage(fd, output);
return -1;
}
if((pl_sd2=map_nick2sd((char *) player2)) == NULL) {
- sprintf(player1, "Cannot find player %s online", player2);
- clif_displaymessage(fd, player1);
+ sprintf(output, "Cannot find player %s online", player2);
+ clif_displaymessage(fd, output);
return -1;
}
if((pl_sd3=map_nick2sd((char *) player3)) == NULL) {
- sprintf(player1, "Cannot find player %s online", player3);
- clif_displaymessage(fd, player1);
+ sprintf(output, "Cannot find player %s online", player3);
+ clif_displaymessage(fd, output);
return -1;
}