mirror of
https://github.com/samba-team/samba.git
synced 2025-02-16 09:57:47 +03:00
fixed warnings (and potential errors) due to integer overflow when
creating locking masks
This commit is contained in:
parent
4f85105578
commit
5e2844d5ed
@ -2666,8 +2666,8 @@ BOOL fcntl_lock(int fd, int op, SMB_OFF_T offset, SMB_OFF_T count, int type)
|
||||
int ret;
|
||||
|
||||
if(lp_ole_locking_compat()) {
|
||||
SMB_OFF_T mask = ((SMB_OFF_T)0xC) << (SMB_OFF_T_BITS-4);
|
||||
SMB_OFF_T mask2= ((SMB_OFF_T)0x3) << (SMB_OFF_T_BITS-4);
|
||||
SMB_OFF_T mask = (mask2<<2);
|
||||
|
||||
/* make sure the count is reasonable, we might kill the lockd otherwise */
|
||||
count &= ~mask;
|
||||
@ -2679,7 +2679,8 @@ BOOL fcntl_lock(int fd, int op, SMB_OFF_T offset, SMB_OFF_T count, int type)
|
||||
if ((offset & mask) != 0)
|
||||
offset = (offset & ~mask) | (((offset & mask) >> 2) & mask2);
|
||||
} else {
|
||||
SMB_OFF_T mask = ((SMB_OFF_T)0x8) << (SMB_OFF_T_BITS-4);
|
||||
SMB_OFF_T mask2 = ((SMB_OFF_T)0x4) << (SMB_OFF_T_BITS-4);
|
||||
SMB_OFF_T mask = (mask2<<1);
|
||||
SMB_OFF_T neg_mask = ~mask;
|
||||
|
||||
/* interpret negative counts as large numbers */
|
||||
|
@ -574,7 +574,8 @@ static void truncate_unless_locked(files_struct *fsp, connection_struct *conn, i
|
||||
BOOL *share_locked)
|
||||
{
|
||||
if (fsp->can_write){
|
||||
SMB_OFF_T mask = ((SMB_OFF_T)0xC) << (SMB_OFF_T_BITS-4);
|
||||
SMB_OFF_T mask2 = ((SMB_OFF_T)0x3) << (SMB_OFF_T_BITS-4);
|
||||
SMB_OFF_T mask = (mask2<<2);
|
||||
|
||||
if (is_locked(fsp,conn,~mask,0,F_WRLCK)){
|
||||
/* If share modes are in force for this connection we
|
||||
|
Loading…
x
Reference in New Issue
Block a user