summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/core/os_oper.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/core/os_oper.c b/src/core/os_oper.c
index 419dbb7c6..a0f71f5ff 100644
--- a/src/core/os_oper.c
+++ b/src/core/os_oper.c
@@ -111,6 +111,10 @@ int do_oper(User * u)
} else {
if (na->nc->flags & NI_SERVICES_ADMIN
&& (res = slist_indexof(&servadmins, na->nc)) != -1) {
+ if (!is_services_root(u)) {
+ notice_lang(s_OperServ, u, PERMISSION_DENIED);
+ return MOD_CONT;
+ }
slist_delete(&servadmins, res);
na->nc->flags |= NI_SERVICES_OPER;
notice_lang(s_OperServ, u, OPER_OPER_MOVED, nick);