Ver Fonte

Fixed a client crash during SQL char selection if you for some reason had more than 9 characters in your account

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9674 54d463be-8e91-2dee-dedb-b68131a5f0ec
ultramage há 18 anos atrás
pai
commit
c356b3a461
2 ficheiros alterados com 4 adições e 1 exclusões
  1. 3 0
      Changelog-Trunk.txt
  2. 1 1
      src/char_sql/char.c

+ 3 - 0
Changelog-Trunk.txt

@@ -4,6 +4,9 @@ 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/01/19
+	* Fixed a client crash during SQL char selection if you for some reason had
+	  more than 9 characters in your account (thanks to Daegaladh) [ultramage]
+	  - note that the TXT version already guards against this since long ago
 	* Merged Rayce's cleanups of the script engine that account for duplicate
 	  labels, non-numeric labels and makes the engine case-insensitive towards
 	  keywords like if/case/switch/etc/

+ 1 - 1
src/char_sql/char.c

@@ -1686,7 +1686,7 @@ int mmo_char_send006b(int fd, struct char_session_data *sd) {
 	set_char_online(-1, 99,sd->account_id);
 
 	//search char.
-	sprintf(tmp_sql, "SELECT `char_id` FROM `%s` WHERE `account_id` = '%d'",char_db, sd->account_id);
+	sprintf(tmp_sql, "SELECT `char_id` FROM `%s` WHERE `account_id` = '%d' AND `char_num` < '9'",char_db, sd->account_id);
 	if (mysql_query(&mysql_handle, tmp_sql)) {
 		ShowSQL("DB error - %s\n",mysql_error(&mysql_handle));
 		ShowDebug("at %s:%d - %s\n", __FILE__,__LINE__,tmp_sql);