summaryrefslogtreecommitdiff
path: root/source3/rpc_server
diff options
context:
space:
mode:
Diffstat (limited to 'source3/rpc_server')
-rw-r--r--source3/rpc_server/srv_lsa_nt.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/source3/rpc_server/srv_lsa_nt.c b/source3/rpc_server/srv_lsa_nt.c
index 8074eadb69..e8ffb5cee9 100644
--- a/source3/rpc_server/srv_lsa_nt.c
+++ b/source3/rpc_server/srv_lsa_nt.c
@@ -2082,7 +2082,11 @@ NTSTATUS _lsa_LookupPrivName(struct pipes_struct *p,
return NT_STATUS_ACCESS_DENIED;
}
- name = luid_to_privilege_name(r->in.luid);
+ if (r->in.luid->high != 0) {
+ return NT_STATUS_NO_SUCH_PRIVILEGE;
+ }
+
+ name = sec_privilege_name(r->in.luid->low);
if (!name) {
return NT_STATUS_NO_SUCH_PRIVILEGE;
}
@@ -2304,8 +2308,10 @@ static NTSTATUS init_lsa_right_set(TALLOC_CTX *mem_ctx,
int num_priv = 0;
for (i=0; i<privileges->count; i++) {
-
- privname = luid_to_privilege_name(&privileges->set[i].luid);
+ if (privileges->set[i].luid.high) {
+ continue;
+ }
+ privname = sec_privilege_name(privileges->set[i].luid.low);
if (privname) {
if (!add_string_to_array(mem_ctx, privname,
&privname_array, &num_priv)) {