summaryrefslogtreecommitdiff
path: root/source3/passdb
diff options
context:
space:
mode:
Diffstat (limited to 'source3/passdb')
-rw-r--r--source3/passdb/passdb.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/source3/passdb/passdb.c b/source3/passdb/passdb.c
index 918fdcd088..a0b9726a63 100644
--- a/source3/passdb/passdb.c
+++ b/source3/passdb/passdb.c
@@ -594,6 +594,9 @@ BOOL local_sid_to_uid(uid_t *puid, DOM_SID *psid, enum SID_NAME_USE *name_type)
sid_copy(&dom_sid, psid);
sid_split_rid(&dom_sid, &rid);
+ if (!pdb_rid_is_user(rid))
+ return False;
+
/*
* We can only convert to a uid if this is our local
* Domain SID (ie. we are the controling authority).
@@ -652,6 +655,9 @@ BOOL local_sid_to_gid(gid_t *pgid, DOM_SID *psid, enum SID_NAME_USE *name_type)
if (!sid_equal(&global_sam_sid, &dom_sid))
return False;
+ if (pdb_rid_is_user(rid))
+ return False;
+
*pgid = pdb_user_rid_to_gid(rid);
/*