36 lines
1.2 KiB
Diff
36 lines
1.2 KiB
Diff
|
From 163dc5ba93cae1cc81b709a05d8979d6b11cf04d Mon Sep 17 00:00:00 2001
|
|||
|
From: Jeff Layton <jlayton@samba.org>
|
|||
|
Date: Tue, 8 Oct 2013 21:07:24 -0400
|
|||
|
Subject: [PATCH] setcifsacl: fix bad bit-shift in raw_str_to_sid
|
|||
|
MIME-Version: 1.0
|
|||
|
Content-Type: text/plain; charset=UTF-8
|
|||
|
Content-Transfer-Encoding: 8bit
|
|||
|
|
|||
|
A Coverity scan turned up this warning:
|
|||
|
|
|||
|
1. cifs-utils-6.2/setcifsacl.c:578:result_independent_of_operands – "(x & 0xff0000000000ULL) >> 48" is 0 regardless of the values of its operands. This occurs as the operand of assignment.
|
|||
|
|
|||
|
...which is entirely true. That shift should be 40 bits, not 48.
|
|||
|
|
|||
|
Signed-off-by: Jeff Layton <jlayton@samba.org>
|
|||
|
---
|
|||
|
setcifsacl.c | 2 +-
|
|||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
|||
|
|
|||
|
diff --git a/setcifsacl.c b/setcifsacl.c
|
|||
|
index ce708eb..7eeeaa6 100644
|
|||
|
--- a/setcifsacl.c
|
|||
|
+++ b/setcifsacl.c
|
|||
|
@@ -575,7 +575,7 @@ raw_str_to_sid(const char *str, struct cifs_sid *csid)
|
|||
|
csid->authority[3] = (x & 0x000000ff0000ULL) >> 16;
|
|||
|
csid->authority[2] = (x & 0x0000ff000000ULL) >> 24;
|
|||
|
csid->authority[1] = (x & 0x00ff00000000ULL) >> 32;
|
|||
|
- csid->authority[0] = (x & 0xff0000000000ULL) >> 48;
|
|||
|
+ csid->authority[0] = (x & 0xff0000000000ULL) >> 40;
|
|||
|
|
|||
|
/* now read the the subauthorities and store as __le32 vals */
|
|||
|
p = q + 1;
|
|||
|
--
|
|||
|
1.8.3.1
|
|||
|
|