diff options
Diffstat (limited to 'src/core/cs_xop.c')
-rw-r--r-- | src/core/cs_xop.c | 5 |
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; |