From 19dadc72ab415ac14aead231c63e2b6fe28be2cf Mon Sep 17 00:00:00 2001 From: skotlex Date: Sun, 26 Mar 2006 05:47:22 +0000 Subject: - Fixed jstrescapecpy crashing when you pass a null string to parse. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@5753 54d463be-8e91-2dee-dedb-b68131a5f0ec --- Changelog-Trunk.txt | 2 ++ src/common/strlib.c | 5 +++++ src/map/log.c | 2 +- 3 files changed, 8 insertions(+), 1 deletion(-) 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)); -- cgit v1.2.3-70-g09d2