summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/users.c16
1 files changed, 14 insertions, 2 deletions
diff --git a/src/users.c b/src/users.c
index d62fba853..c8abab7c3 100644
--- a/src/users.c
+++ b/src/users.c
@@ -977,10 +977,16 @@ int is_excepted_mask(ChannelInfo * ci, char *mask)
int match_usermask(const char *mask, User * user)
{
- char *mask2 = sstrdup(mask);
+ char *mask2;
char *nick, *username, *host;
int result;
+ if (!mask || !*mask) {
+ return 0;
+ }
+
+ mask2 = sstrdup(mask);
+
if (strchr(mask2, '!')) {
nick = strtok(mask2, "!");
username = strtok(NULL, "@");
@@ -1016,10 +1022,16 @@ int match_usermask(const char *mask, User * user)
int match_userip(const char *mask, User * user, char *iphost)
{
- char *mask2 = sstrdup(mask);
+ char *mask2;
char *nick, *username, *host;
int result;
+ if (!mask || !*mask) {
+ return 0;
+ }
+
+ mask2 = sstrdup(mask);
+
if (strchr(mask2, '!')) {
nick = strtok(mask2, "!");
username = strtok(NULL, "@");