diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/botserv.c | 2 | ||||
-rw-r--r-- | src/channels.c | 7 | ||||
-rw-r--r-- | src/chanserv.c | 18 | ||||
-rw-r--r-- | src/nickserv.c | 21 | ||||
-rw-r--r-- | src/users.c | 7 |
5 files changed, 51 insertions, 4 deletions
diff --git a/src/botserv.c b/src/botserv.c index d38ab917c..7665c6c6e 100644 --- a/src/botserv.c +++ b/src/botserv.c @@ -192,7 +192,7 @@ void botchanmsgs(User * u, ChannelInfo * ci, char *buf) UserData *ud; - if (!u) { + if (!u || !buf || !ci) { return; } diff --git a/src/channels.c b/src/channels.c index 2b871853d..8225e5f2a 100644 --- a/src/channels.c +++ b/src/channels.c @@ -305,6 +305,13 @@ Channel *findchan(const char *chan) { Channel *c; + if (!chan || !*chan) { + if (debug) { + alog("Error: findchan() called with NULL values"); + } + return NULL; + } + if (debug >= 3) alog("debug: findchan(%p)", chan); c = chanlist[HASH(chan)]; 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) diff --git a/src/nickserv.c b/src/nickserv.c index 23d0e2738..b8fbe0642 100644 --- a/src/nickserv.c +++ b/src/nickserv.c @@ -1252,8 +1252,13 @@ NickRequest *findrequestnick(const char *nick) { NickRequest *nr; - if (!nick) + if (!nick || !*nick) { + if (debug) { + alog("Error: findrequestnick() called with NULL values"); + } return NULL; + } + for (nr = nrlists[HASH(nick)]; nr; nr = nr->next) { if (stricmp(nr->nick, nick) == 0) return nr; @@ -1268,6 +1273,13 @@ NickAlias *findnick(const char *nick) { NickAlias *na; + if (!nick || !*nick) { + if (debug) { + alog("Error: findnick() called with NULL values"); + } + return NULL; + } + for (na = nalists[HASH(nick)]; na; na = na->next) { if (stricmp(na->nick, nick) == 0) return na; @@ -1285,6 +1297,13 @@ NickCore *findcore(const char *nick) { NickCore *nc; + if (!nick || !*nick) { + if (debug) { + alog("Error: findcore() called with NULL values"); + } + return NULL; + } + for (nc = nclists[HASH(nick)]; nc; nc = nc->next) { if (stricmp(nc->display, nick) == 0) return nc; diff --git a/src/users.c b/src/users.c index bcbc56b69..d0df61c83 100644 --- a/src/users.c +++ b/src/users.c @@ -306,6 +306,13 @@ User *finduser(const char *nick) { User *user; + if (!nick || !*nick) { + if (debug) { + alog("Error: finduser() called with NULL values"); + } + return NULL; + } + if (debug >= 3) alog("debug: finduser(%p)", nick); user = userlist[HASH(nick)]; |