diff options
author | rob rob@31f1291d-b8d6-0310-a050-a5561fc1590b <rob rob@31f1291d-b8d6-0310-a050-a5561fc1590b@5417fbe8-f217-4b02-8779-1006273d7864> | 2006-02-23 07:29:59 +0000 |
---|---|---|
committer | rob rob@31f1291d-b8d6-0310-a050-a5561fc1590b <rob rob@31f1291d-b8d6-0310-a050-a5561fc1590b@5417fbe8-f217-4b02-8779-1006273d7864> | 2006-02-23 07:29:59 +0000 |
commit | 1ee02bdfb5951ae94b423af911db789a0a9dc7ce (patch) | |
tree | baefd012f290dfda4fdd9e57fb5cb2a6b3e27e0e /src | |
parent | 755f87ec420fb8886e79de9000d1ca39149e475c (diff) |
Applied Trystans patch for bug: 448
git-svn-id: svn://svn.anope.org/anope/trunk@970 31f1291d-b8d6-0310-a050-a5561fc1590b
git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@695 5417fbe8-f217-4b02-8779-1006273d7864
Diffstat (limited to 'src')
-rw-r--r-- | src/users.c | 16 |
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, "@"); |