diff options
-rw-r--r-- | src/channels.c | 12 | ||||
-rw-r--r-- | version.log | 6 |
2 files changed, 11 insertions, 7 deletions
diff --git a/src/channels.c b/src/channels.c index 89beeadc7..6720f4d71 100644 --- a/src/channels.c +++ b/src/channels.c @@ -2095,17 +2095,17 @@ int entry_match(Entry *e, char *nick, char *user, char *host, uint32 ip) if (ircd->cidrchanbei && (e->type & ENTRYTYPE_CIDR4) && (!ip || (ip && ((ip & e->cidr_mask) != e->cidr_ip)))) return 0; - if ((e->type & ENTRYTYPE_NICK) && (stricmp(e->nick, nick) != 0)) + if (nick && (e->type & ENTRYTYPE_NICK) && (stricmp(e->nick, nick) != 0)) return 0; - if ((e->type & ENTRYTYPE_USER) && (stricmp(e->user, user) != 0)) + if (user && (e->type & ENTRYTYPE_USER) && (stricmp(e->user, user) != 0)) return 0; - if ((e->type & ENTRYTYPE_HOST) && (stricmp(e->host, host) != 0)) + if (host && (e->type & ENTRYTYPE_HOST) && (stricmp(e->host, host) != 0)) return 0; - if ((e->type & ENTRYTYPE_NICK_WILD) && !match_wild_nocase(e->nick, nick)) + if (nick && (e->type & ENTRYTYPE_NICK_WILD) && !match_wild_nocase(e->nick, nick)) return 0; - if ((e->type & ENTRYTYPE_USER_WILD) && !match_wild_nocase(e->user, user)) + if (user && (e->type & ENTRYTYPE_USER_WILD) && !match_wild_nocase(e->user, user)) return 0; - if ((e->type & ENTRYTYPE_HOST_WILD) && !match_wild_nocase(e->host, host)) + if (host && (e->type & ENTRYTYPE_HOST_WILD) && !match_wild_nocase(e->host, host)) return 0; return 1; diff --git a/version.log b/version.log index 0a8d796ce..219348635 100644 --- a/version.log +++ b/version.log @@ -9,10 +9,14 @@ VERSION_MAJOR="1" VERSION_MINOR="7" VERSION_PATCH="21" VERSION_EXTRA="-svn" -VERSION_BUILD="1429" +VERSION_BUILD="1430" # $Log$ # +# BUILD : 1.7.21 (1430) +# BUGS : +# NOTES : Fixes a possible segfault in entry_match. +# # BUILD : 1.7.21 (1429) # BUGS : 929 # NOTES : Updated the help on ignore. |