s3-privs Remove pointer indirection from se_priv_to_privilege_set()
authorAndrew Bartlett <abartlet@samba.org>
Mon, 30 Aug 2010 02:50:49 +0000 (12:50 +1000)
committerAndrew Bartlett <abartlet@samba.org>
Sat, 11 Sep 2010 08:46:09 +0000 (18:46 +1000)
Andrew Bartlett

Signed-off-by: Andrew Tridgell <tridge@samba.org>
libcli/security/privileges.c
libcli/security/privileges.h
source3/rpc_server/srv_lsa_nt.c

index a33ef57a60e91b150df41347c203a978f37428ca..054ba57e37c544a18a02437cdea5a2b133abdf07 100644 (file)
@@ -469,7 +469,7 @@ static bool privilege_set_add(PRIVILEGE_SET *priv_set, struct lsa_LUIDAttribute
 /*******************************************************************
 *******************************************************************/
 
-bool se_priv_to_privilege_set( PRIVILEGE_SET *set, uint64_t *privilege_mask )
+bool se_priv_to_privilege_set( PRIVILEGE_SET *set, uint64_t privilege_mask )
 {
        int i;
        uint32_t num_privs = ARRAY_SIZE(privs);
@@ -479,7 +479,7 @@ bool se_priv_to_privilege_set( PRIVILEGE_SET *set, uint64_t *privilege_mask )
        luid.luid.high = 0;
 
        for ( i=0; i<num_privs; i++ ) {
-               if ( !is_privilege_assigned(privilege_mask, &privs[i].privilege_mask) )
+               if ((privilege_mask & privs[i].privilege_mask) == 0)
                        continue;
 
                luid.luid.high = 0;
index e715c468c2ec0fd06b79882f14e7ab372c09ce39..34f7d06f8cb0fcd0407632445e36dcb8dc675af4 100644 (file)
@@ -141,7 +141,7 @@ int num_privileges_in_short_list( void );
 
 const char *luid_to_privilege_name(const struct lsa_LUID *set);
 
-bool se_priv_to_privilege_set( PRIVILEGE_SET *set, uint64_t *privilege_mask );
+bool se_priv_to_privilege_set( PRIVILEGE_SET *set, uint64_t privilege_mask );
 bool privilege_set_to_se_priv( uint64_t *privilege_mask, struct lsa_PrivilegeSet *privset );
 
 /*
index e54bd9613f5dd17090306321611676b7c4905af9..81bbd4fc8cf10e149720de2faa2c4c9862bdd048 100644 (file)
@@ -1858,7 +1858,7 @@ NTSTATUS _lsa_EnumPrivsAccount(struct pipes_struct *p,
                goto done;
        }
 
-       if ( se_priv_to_privilege_set( &privileges, &mask ) ) {
+       if ( se_priv_to_privilege_set( &privileges, mask ) ) {
 
                DEBUG(10,("_lsa_EnumPrivsAccount: %s has %d privileges\n",
                          sid_string_dbg(&info->sid),
@@ -2376,7 +2376,7 @@ NTSTATUS _lsa_EnumAccountRights(struct pipes_struct *p,
                return status;
        }
 
-       se_priv_to_privilege_set(&privileges, &mask);
+       se_priv_to_privilege_set(&privileges, mask);
 
        DEBUG(10,("_lsa_EnumAccountRights: %s has %d privileges\n",
                  sid_string_dbg(&sid), privileges.count));