diff options
author | Stefan Metzmacher <metze@samba.org> | 2006-04-03 14:39:46 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 14:00:12 -0500 |
commit | 5559f5e3e5b283a4fe85984589d61598b14fcfff (patch) | |
tree | cb1f7c52db85d10534af50b0c3040ca4a7ec295d /source4/libcli/security/security_token.c | |
parent | ed56a2c147befea36e40844d3d295fd74402b64f (diff) | |
download | samba-5559f5e3e5b283a4fe85984589d61598b14fcfff.tar.gz samba-5559f5e3e5b283a4fe85984589d61598b14fcfff.tar.bz2 samba-5559f5e3e5b283a4fe85984589d61598b14fcfff.zip |
r14891: fix a bug found by the ibm checker
the problem was that we shift with <<= (privilege-1)
and we called the function with privilege=0
add some checks to catch invalid privilege values
and hide the mask representation in privilege.c
metze
(This used to be commit a69f000324764bcd4cf420f2ecba1aca788258e4)
Diffstat (limited to 'source4/libcli/security/security_token.c')
-rw-r--r-- | source4/libcli/security/security_token.c | 17 |
1 files changed, 1 insertions, 16 deletions
diff --git a/source4/libcli/security/security_token.c b/source4/libcli/security/security_token.c index 6e380a62ad..80644e1f2d 100644 --- a/source4/libcli/security/security_token.c +++ b/source4/libcli/security/security_token.c @@ -128,7 +128,6 @@ void security_token_debug(int dbg_lev, const struct security_token *token) { TALLOC_CTX *mem_ctx; int i; - uint_t privilege; if (!token) { DEBUG(dbg_lev, ("Security token: (NULL)\n")); @@ -149,21 +148,7 @@ void security_token_debug(int dbg_lev, const struct security_token *token) dom_sid_string(mem_ctx, token->sids[i]))); } - DEBUGADD(dbg_lev, (" Privileges (0x%08X%08X):\n", - (uint32_t)((token->privilege_mask & 0xFFFFFFFF00000000LL) >> 32), - (uint32_t)(token->privilege_mask & 0x00000000FFFFFFFFLL))); - - if (token->privilege_mask) { - i = 0; - for (privilege = 0; privilege < 64; privilege++) { - uint64_t mask = sec_privilege_mask(privilege); - - if (token->privilege_mask & mask) { - DEBUGADD(dbg_lev, (" Privilege[%3lu]: %s\n", (unsigned long)i++, - sec_privilege_name(privilege))); - } - } - } + sec_privilege_debug(dbg_lev, token); talloc_free(mem_ctx); } |