summaryrefslogtreecommitdiff
path: root/src/mysql.c
diff options
context:
space:
mode:
authorrburchell <rburchell@5417fbe8-f217-4b02-8779-1006273d7864>2009-01-26 20:10:44 +0000
committerrburchell <rburchell@5417fbe8-f217-4b02-8779-1006273d7864>2009-01-26 20:10:44 +0000
commit6c51b17ef14b57f8715c840c253c99eef3683bde (patch)
tree2a65ed2d7f000b6ff682a7d63a48e4f34f3ef838 /src/mysql.c
parent5a191ce5a64bb2b626d6a79c5d63e589f55d9dad (diff)
Don't allow an empty ident when reading HS vident. Rob, this needs review before I want to push it to SVN.
git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/stable@1936 5417fbe8-f217-4b02-8779-1006273d7864
Diffstat (limited to 'src/mysql.c')
-rw-r--r--src/mysql.c40
1 files changed, 24 insertions, 16 deletions
diff --git a/src/mysql.c b/src/mysql.c
index 8f38bacda..44c8b307c 100644
--- a/src/mysql.c
+++ b/src/mysql.c
@@ -1147,29 +1147,37 @@ int db_mysql_load_bs_dbase(void)
int db_mysql_load_hs_dbase(void)
{
int ret;
- int32 time;
+ char *vident = NULL;
+ int32 time;
- if (!do_mysql)
- return 0;
+ if (!do_mysql)
+ return 0;
- ret = db_mysql_try("SELECT nick, vident, vhost, creator, `time` "
- "FROM anope_hs_core "
- "WHERE active = 1");
+ ret = db_mysql_try("SELECT nick, vident, vhost, creator, `time` "
+ "FROM anope_hs_core "
+ "WHERE active = 1");
- if (!ret)
- return 0;
+ if (!ret)
+ return 0;
- mysql_res = mysql_use_result(mysql);
+ mysql_res = mysql_use_result(mysql);
- while ((mysql_row = mysql_fetch_row(mysql_res))) {
- time = strtol(mysql_row[4], (char **) NULL, 10);
- addHostCore(mysql_row[0], mysql_row[1], mysql_row[2], mysql_row[3],
- time);
- }
+ while ((mysql_row = mysql_fetch_row(mysql_res)))
+ {
+ /* FIX: we can never allow an empty vident, it must *always* be NULL. */
+ vident = mysql_row[1];
+ if (!strcmp(vident, ""))
+ {
+ vident = NULL;
+ }
- mysql_free_result(mysql_res);
+ time = strtol(mysql_row[4], (char **) NULL, 10);
+ addHostCore(mysql_row[0], NULL, mysql_row[2], mysql_row[3], time);
+ }
- return 1;
+ mysql_free_result(mysql_res);
+
+ return 1;
}
int db_mysql_load_news(void)