From 4c88bb6068c50726c09de5dd8f17e6e3e71fc7ed Mon Sep 17 00:00:00 2001 From: skotlex Date: Tue, 3 Oct 2006 14:03:40 +0000 Subject: - Fixed a possible crash and a memory leak on the login-SQL server when parsing unban requests. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8924 54d463be-8e91-2dee-dedb-b68131a5f0ec --- Changelog-Trunk.txt | 2 ++ src/login_sql/login.c | 7 ++----- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt index a4b4cd381..2f8e78c18 100644 --- a/Changelog-Trunk.txt +++ b/Changelog-Trunk.txt @@ -4,6 +4,8 @@ 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. 2006/10/03 + * Fixed a possible crash and a memory leak on the login-SQL server when + parsing unban requests. [Skotlex] * Renamed setting delay_dependon_dex to delay_dependon_agi, the delay of skills is reduced now (when enabled) by AGI instead of DEX, which makes a lot more sense than DEX. [Skotlex] diff --git a/src/login_sql/login.c b/src/login_sql/login.c index 5961e94a3..5527b82f4 100644 --- a/src/login_sql/login.c +++ b/src/login_sql/login.c @@ -1306,18 +1306,15 @@ int parse_fromchar(int fd){ ShowDebug("at %s:%d - %s\n", __FILE__,__LINE__,tmp_sql); } sql_res = mysql_store_result(&mysql_handle) ; - if (sql_res) { - sql_row = mysql_fetch_row(sql_res); //row fetching - } - if (atol(sql_row[0]) != 0) { + if (sql_res && mysql_num_rows(sql_res) > 0) { //Found a match sprintf(tmpsql,"UPDATE `%s` SET `ban_until` = '0' WHERE `%s` = '%d'", login_db,login_db_account_id,acc); //query if(mysql_query(&mysql_handle, tmpsql)) { ShowSQL("DB error - %s\n",mysql_error(&mysql_handle)); ShowDebug("at %s:%d - %s\n", __FILE__,__LINE__,tmp_sql); } - break; } + if (sql_res) mysql_free_result(sql_res); RFIFOSKIP(fd,6); } return 0; -- cgit v1.2.3-70-g09d2