* Added 'safestrnlen' to prevent null pointer crashes

* Fixed global chat logging always crashing on a null pointer
* Applied changes to clif_parse_globalmessage() from my WiP code
- clearer processing of the individual packet components
- proper code ordering, some more integrity checks
- fixes to some poorly chosen ShowWarning() format strings
- global chat logging no longer logs the entire string (w/ player name)

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11271 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
ultramage
2007-09-22 11:02:26 +00:00
parent 7d5d662928
commit 961f23767d
9 changed files with 87 additions and 56 deletions

View File

@@ -829,7 +829,7 @@ int search_guildname(char *str)
int guild_id;
char esc_name[NAME_LENGTH*2+1];
Sql_EscapeStringLen(sql_handle, esc_name, str, strnlen(str, NAME_LENGTH));
Sql_EscapeStringLen(sql_handle, esc_name, str, safestrnlen(str, NAME_LENGTH));
//Lookup guilds with the same name
if( SQL_ERROR == Sql_Query(sql_handle, "SELECT guild_id FROM `%s` WHERE name='%s'", guild_db, esc_name) )
{

View File

@@ -299,7 +299,7 @@ struct party_data* search_partyname(char* str)
char* data;
struct party_data* p = NULL;
Sql_EscapeStringLen(sql_handle, esc_name, str, strnlen(str, NAME_LENGTH));
Sql_EscapeStringLen(sql_handle, esc_name, str, safestrnlen(str, NAME_LENGTH));
if( SQL_ERROR == Sql_Query(sql_handle, "SELECT `party_id` FROM `%s` WHERE `name`='%s'", party_db, esc_name) )
Sql_ShowDebug(sql_handle);
else if( SQL_SUCCESS == Sql_NextRow(sql_handle) )