diff options
author | Adam- <Adam-@5417fbe8-f217-4b02-8779-1006273d7864> | 2009-11-25 20:57:22 +0000 |
---|---|---|
committer | Adam- <Adam-@5417fbe8-f217-4b02-8779-1006273d7864> | 2009-11-25 20:57:22 +0000 |
commit | 822e75b501efc57c533e65f68c55debd453415fd (patch) | |
tree | 2b57aaf3f8e6a5fdf58ceeddb3705f7aa3eaf627 | |
parent | e2c6825cd233a4271f7bdb79c2f294ad7c4566b9 (diff) |
Fix a few more XOP related problems
git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/stable@2668 5417fbe8-f217-4b02-8779-1006273d7864
-rw-r--r-- | src/chanserv.c | 2 | ||||
-rw-r--r-- | src/core/cs_xop.c | 4 |
2 files changed, 4 insertions, 2 deletions
diff --git a/src/chanserv.c b/src/chanserv.c index ba1147072..a10e78932 100644 --- a/src/chanserv.c +++ b/src/chanserv.c @@ -1857,8 +1857,10 @@ void cs_remove_nick(const NickCore * nc) if (ca->in_use && ca->nc == nc) { ca->in_use = 0; ca->nc = NULL; + ci->accesscount--; } } + CleanAccess(ci); for (akick = ci->akick, j = 0; j < ci->akickcount; akick++, j++) { if ((akick->flags & AK_USED) && (akick->flags & AK_ISNICK) diff --git a/src/core/cs_xop.c b/src/core/cs_xop.c index a29756856..849cc5fba 100644 --- a/src/core/cs_xop.c +++ b/src/core/cs_xop.c @@ -174,9 +174,9 @@ int do_vop(User * u) int xop_del(User * u, ChannelInfo * ci, ChanAccess * access, int *perm, int uacc, int xlev) { - char *nick = access->nc->display; - if (!access->in_use || access->level != xlev) + if (!access->in_use || !access->nc || access->level != xlev) return 0; + char *nick = access->nc->display; if (!is_services_admin(u) && uacc <= access->level) { (*perm)++; return 0; |