diff mbox

[4/4] omfs: fix potential integer overflow in allocator

Message ID 1431948878-3756-5-git-send-email-me@bobcopeland.com (mailing list archive)
State New, archived
Headers show

Commit Message

Bob Copeland May 18, 2015, 11:34 a.m. UTC
Both 'i' and 'bits_per_entry' are signed integers but the result
is a u64 block number.  Cast i to u64 to avoid truncation on
32-bit targets.

Found by Coverity (CID 200679).

Signed-off-by: Bob Copeland <me@bobcopeland.com>
---
 fs/omfs/bitmap.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff mbox

Patch

diff --git a/fs/omfs/bitmap.c b/fs/omfs/bitmap.c
index 082234581d05..83f4e76511c2 100644
--- a/fs/omfs/bitmap.c
+++ b/fs/omfs/bitmap.c
@@ -159,7 +159,7 @@  int omfs_allocate_range(struct super_block *sb,
 	goto out;
 
 found:
-	*return_block = i * bits_per_entry + bit;
+	*return_block = (u64) i * bits_per_entry + bit;
 	*return_size = run;
 	ret = set_run(sb, i, bits_per_entry, bit, run, 1);