diff options
author | DukePyrolator <DukePyrolator@5417fbe8-f217-4b02-8779-1006273d7864> | 2009-07-02 16:36:26 +0000 |
---|---|---|
committer | DukePyrolator <DukePyrolator@5417fbe8-f217-4b02-8779-1006273d7864> | 2009-07-02 16:36:26 +0000 |
commit | d68b3c3b6d4b6b0640eedeb4bfdc4e5b1f799b90 (patch) | |
tree | 8cf81a88ff3ae41555bfbf44b515f7599acad14c | |
parent | e8c63b5f43be302902d54773a3e66569c246218b (diff) |
fix for bug #1088 (missing check for null pointer). thanks to Obi_Wan for reporting
git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@2353 5417fbe8-f217-4b02-8779-1006273d7864
-rw-r--r-- | src/core/cs_xop.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/core/cs_xop.c b/src/core/cs_xop.c index 3ac2c4596..5ea9b3c9a 100644 --- a/src/core/cs_xop.c +++ b/src/core/cs_xop.c @@ -307,7 +307,7 @@ class XOPBase : public Command process_numlist(nick, NULL, xop_list_callback, u, ci, &sent_header, level, messages[XOP_LIST_HEADER]); else { - for (int i = 0; i < ci->access.size(); ++i) + for (size_t i = 0; i < ci->access.size(); ++i) { ChanAccess *access = ci->GetAccess(i); if (nick && access->nc && !Anope::Match(access->nc->display, nick, false)) @@ -362,7 +362,9 @@ class XOPBase : public Command ChannelInfo *ci = cs_findchan(chan); - if (!(ci->flags & CI_XOP)) + if (!ci) + notice_lang(s_ChanServ, u, CHAN_X_NOT_REGISTERED, chan); + else if (!(ci->flags & CI_XOP)) notice_lang(s_ChanServ, u, CHAN_XOP_ACCESS, s_ChanServ); else if (!stricmp(cmd, "ADD")) return this->DoAdd(u, params, ci, level, messages); @@ -542,7 +544,7 @@ int xop_del_callback(User *u, int num, va_list args) int uacc = va_arg(args, int); int xlev = va_arg(args, int); - if (num < 1 || num > ci->access.size()) + if (num < 1 || num > static_cast<int>(ci->access.size())) return 0; *last = num; @@ -574,7 +576,7 @@ int xop_list_callback(User *u, int num, va_list args) int xlev = va_arg(args, int); int xmsg = va_arg(args, int); - if (num < 1 || num > ci->access.size()) + if (num < 1 || num > static_cast<int>(ci->access.size())) return 0; return xop_list(u, num - 1, ci, sent_header, xlev, xmsg); |