diff options
Diffstat (limited to 'source/lib/privileges.c')
-rw-r--r-- | source/lib/privileges.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/source/lib/privileges.c b/source/lib/privileges.c index d19592e5826..c0f7857c95b 100644 --- a/source/lib/privileges.c +++ b/source/lib/privileges.c @@ -309,7 +309,8 @@ static BOOL set_privileges( const DOM_SID *sid, SE_PRIV *mask ) check if the privilege is in the privilege list ****************************************************************************/ -static BOOL is_privilege_assigned( SE_PRIV *privileges, const SE_PRIV *check ) +static BOOL is_privilege_assigned( const SE_PRIV *privileges, + const SE_PRIV *check ) { SE_PRIV p1, p2; @@ -473,7 +474,7 @@ BOOL get_privileges_for_sids(SE_PRIV *privileges, DOM_SID *slist, int scount) static int priv_traverse_fn(TDB_CONTEXT *t, TDB_DATA key, TDB_DATA data, void *state) { - PRIV_SID_LIST *priv = state; + PRIV_SID_LIST *priv = (PRIV_SID_LIST *)state; int prefixlen = strlen(PRIVPREFIX); DOM_SID sid; fstring sid_string; @@ -516,7 +517,9 @@ static int priv_traverse_fn(TDB_CONTEXT *t, TDB_DATA key, TDB_DATA data, void *s return 0; } - add_sid_to_array( NULL, &sid, &priv->sids.list, &priv->sids.count ); + if (!add_sid_to_array( NULL, &sid, &priv->sids.list, &priv->sids.count )) { + return 0; + } return 0; } @@ -740,7 +743,7 @@ NTSTATUS dup_luid_attr(TALLOC_CTX *mem_ctx, LUID_ATTR **new_la, LUID_ATTR *old_l at a time here. *****************************************************************************/ -BOOL user_has_privileges(NT_USER_TOKEN *token, const SE_PRIV *privilege) +BOOL user_has_privileges(const NT_USER_TOKEN *token, const SE_PRIV *privilege) { if ( !token ) return False; |