summaryrefslogtreecommitdiff
path: root/src/core/cs_xop.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/cs_xop.c')
-rw-r--r--src/core/cs_xop.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/core/cs_xop.c b/src/core/cs_xop.c
index fc5658cfa..09eca4ce4 100644
--- a/src/core/cs_xop.c
+++ b/src/core/cs_xop.c
@@ -356,6 +356,11 @@ int do_xop(User * u, char *xname, int xlev, int *xmsgs)
ulev = get_access(u, ci);
+ if ((xlev >= ulev || ulev < ACCESS_AOP) && !is_servadmin) {
+ notice_lang(s_ChanServ, u, PERMISSION_DENIED);
+ return MOD_CONT;
+ }
+
/* Special case: is it a number/list? Only do search if it isn't. */
if (isdigit(*nick) && strspn(nick, "1234567890,-") == strlen(nick)) {
int count, last = -1, perm = 0;