diff options
author | Anton Altaparmakov <aia21@cantab.net> | 2005-06-25 11:51:58 -0400 |
---|---|---|
committer | Anton Altaparmakov <aia21@cantab.net> | 2005-06-25 11:51:58 -0400 |
commit | 3bd1f4a173a3445f9919c21e775de2d8b9deacf8 (patch) | |
tree | 6b32056b5b63d41fc5d032318ed0f94dbc562288 /fs/ntfs/lcnalloc.c | |
parent | ca8fd7a0c6aa835e8014830b290cb965e85ac88e (diff) |
NTFS: Fix several occurences of a bug where we would perform 'var & ~const'
with a 64-bit variable and a int, i.e. 32-bit, constant. This causes
the higher order 32-bits of the 64-bit variable to be zeroed. To fix
this cast the 'const' to the same 64-bit type as 'var'.
Signed-off-by: Anton Altaparmakov <aia21@cantab.net>
Diffstat (limited to 'fs/ntfs/lcnalloc.c')
-rw-r--r-- | fs/ntfs/lcnalloc.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/fs/ntfs/lcnalloc.c b/fs/ntfs/lcnalloc.c index 7087b5b0e6ce..a4bc07616e5d 100644 --- a/fs/ntfs/lcnalloc.c +++ b/fs/ntfs/lcnalloc.c | |||
@@ -293,7 +293,7 @@ runlist_element *ntfs_cluster_alloc(ntfs_volume *vol, const VCN start_vcn, | |||
293 | buf_size = i_size - last_read_pos; | 293 | buf_size = i_size - last_read_pos; |
294 | buf_size <<= 3; | 294 | buf_size <<= 3; |
295 | lcn = bmp_pos & 7; | 295 | lcn = bmp_pos & 7; |
296 | bmp_pos &= ~7; | 296 | bmp_pos &= ~(LCN)7; |
297 | ntfs_debug("Before inner while loop: buf_size %i, lcn 0x%llx, " | 297 | ntfs_debug("Before inner while loop: buf_size %i, lcn 0x%llx, " |
298 | "bmp_pos 0x%llx, need_writeback %i.", buf_size, | 298 | "bmp_pos 0x%llx, need_writeback %i.", buf_size, |
299 | (unsigned long long)lcn, | 299 | (unsigned long long)lcn, |
@@ -311,7 +311,7 @@ runlist_element *ntfs_cluster_alloc(ntfs_volume *vol, const VCN start_vcn, | |||
311 | (unsigned int)*byte); | 311 | (unsigned int)*byte); |
312 | /* Skip full bytes. */ | 312 | /* Skip full bytes. */ |
313 | if (*byte == 0xff) { | 313 | if (*byte == 0xff) { |
314 | lcn = (lcn + 8) & ~7; | 314 | lcn = (lcn + 8) & ~(LCN)7; |
315 | ntfs_debug("Continuing while loop 1."); | 315 | ntfs_debug("Continuing while loop 1."); |
316 | continue; | 316 | continue; |
317 | } | 317 | } |