summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Changelog-Trunk.txt2
-rw-r--r--src/common/strlib.c5
-rw-r--r--src/map/log.c2
3 files changed, 8 insertions, 1 deletions
diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt
index b9efa7510..424496388 100644
--- a/Changelog-Trunk.txt
+++ b/Changelog-Trunk.txt
@@ -5,6 +5,8 @@ IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK. EV
GOES INTO TRUNK AND WILL BE MERGED INTO STABLE BY VALARIS AND WIZPUTER. -- VALARIS
+2006/03/26
+ * Fixed jstrescapecpy crashing when you pass a null string to parse. [Skotlex]
2006/03/25
* Fixed the map-server freeze/crash on Warp Portal. [Skotlex]
* Fixed Grandcross/Granddarkness showing no skill animation. [Skotlex]
diff --git a/src/common/strlib.c b/src/common/strlib.c
index 12c34556f..361c693c1 100644
--- a/src/common/strlib.c
+++ b/src/common/strlib.c
@@ -48,6 +48,11 @@ char* jstrescapecpy (char* pt,char* spt) {
//a escape character is found, the target's final length increases! [Skotlex]
int i =0, j=0;
+ if (!spt) { //Return an empty string [Skotlex]
+ pt[0] = '\0';
+ return &pt[0];
+ }
+
while (spt[i] != '\0') {
switch (spt[i]) {
case '\'':
diff --git a/src/map/log.c b/src/map/log.c
index af621e425..2722153e7 100644
--- a/src/map/log.c
+++ b/src/map/log.c
@@ -718,7 +718,7 @@ int log_chat(char *type, int type_id, int src_charid, int src_accid, char *map,
#ifndef TXT_ONLY
if(log_config.sql_logs > 0){
sprintf(tmp_sql, "INSERT DELAYED INTO `%s` (`time`, `type`, `type_id`, `src_charid`, `src_accountid`, `src_map`, `src_map_x`, `src_map_y`, `dst_charname`, `message`) VALUES (NOW(), '%s', '%d', '%d', '%d', '%s', '%d', '%d', '%s', '%s')",
- log_config.log_chat_db, type, type_id, src_charid, src_accid, map, x, y, jstrescapecpy(t_charname, (char *)dst_charname), jstrescapecpy(t_msg, (char *)message));
+ log_config.log_chat_db, type, type_id, src_charid, src_accid, map, x, y, jstrescapecpy(t_charname, dst_charname), jstrescapecpy(t_msg, message));
if(mysql_query(&logmysql_handle, tmp_sql)){
ShowSQL("DB error - %s\n",mysql_error(&logmysql_handle));