diff options
Diffstat (limited to 'src/chanserv.c')
| -rw-r--r-- | src/chanserv.c | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/src/chanserv.c b/src/chanserv.c index 712c22560..0be9cb809 100644 --- a/src/chanserv.c +++ b/src/chanserv.c @@ -1945,6 +1945,13 @@ ChannelInfo *cs_findchan(const char *chan) { ChannelInfo *ci; + if (!chan || !*chan) { + if (debug) { + alog("Error: finduser() called with NULL values"); + } + return NULL; + } + for (ci = chanlists[tolower(chan[1])]; ci; ci = ci->next) { if (stricmp(ci->name, chan) == 0) return ci; @@ -1962,8 +1969,15 @@ ChannelInfo *cs_findchan(const char *chan) int check_access(User * user, ChannelInfo * ci, int what) { - int level = get_access(user, ci); - int limit = ci->levels[what]; + int level; + int limit; + + if (!user || !ci) { + return 0; + } + + level = get_access(user, ci); + limit = ci->levels[what]; /* Resetting the last used time */ if (level > 0) |
