summaryrefslogtreecommitdiff
path: root/src/core/bs_bot.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/bs_bot.c')
-rw-r--r--src/core/bs_bot.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/src/core/bs_bot.c b/src/core/bs_bot.c
index eaf66b9c8..7ada659c6 100644
--- a/src/core/bs_bot.c
+++ b/src/core/bs_bot.c
@@ -197,7 +197,7 @@ int do_bot(User * u)
notice_lang(s_BotServ, u, BOT_DOES_NOT_EXIST, oldnick);
else if (strlen(nick) > NickLen)
notice_lang(s_BotServ, u, BOT_BAD_NICK);
- else if (strlen(user) >= USERMAX)
+ else if (user && strlen(user) >= USERMAX)
notice_lang(s_BotServ, u, BOT_BAD_IDENT);
else {
NickAlias *na;
@@ -242,15 +242,17 @@ int do_bot(User * u)
return MOD_CONT;
}
- if (!isValidHost(host, 3)) {
+ if (host && !isValidHost(host, 3)) {
notice_lang(s_BotServ, u, BOT_BAD_HOST);
return MOD_CONT;
}
- for (ch = user; *ch && (ch - user) < USERMAX; ch++) {
- if (!isalnum(*ch)) {
- notice_lang(s_BotServ, u, BOT_BAD_IDENT);
- return MOD_CONT;
+ if (user) {
+ for (ch = user; *ch && (ch - user) < USERMAX; ch++) {
+ if (!isalnum(*ch)) {
+ notice_lang(s_BotServ, u, BOT_BAD_IDENT);
+ return MOD_CONT;
+ }
}
}