[U-Boot] [RFC PATCH] ext4: Fix comparision of unsigned expression with < 0
Lokesh Vutla
lokeshvutla at ti.com
Tue Apr 25 04:52:27 UTC 2017
In file ext4fs.c funtion ext4fs_read_file() compares an
unsigned expression with < 0 like below
lbaint_t blknr;
blknr = read_allocated_block(&(node->inode), i);
if (blknr < 0)
return -1;
blknr is of type ulong/uint64_t. read_allocated_block() returns
long int. So comparing blknr with < 0 will always be false. Instead
declare blknr as long int.
Reported-by: Sunita Nadampalli <sunitan at ti.com>
Signed-off-by: Lokesh Vutla <lokeshvutla at ti.com>
---
fs/ext4/ext4fs.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/fs/ext4/ext4fs.c b/fs/ext4/ext4fs.c
index 7187dcfb05..081509dbb4 100644
--- a/fs/ext4/ext4fs.c
+++ b/fs/ext4/ext4fs.c
@@ -71,7 +71,7 @@ int ext4fs_read_file(struct ext2fs_node *node, loff_t pos,
blockcnt = lldiv(((len + pos) + blocksize - 1), blocksize);
for (i = lldiv(pos, blocksize); i < blockcnt; i++) {
- lbaint_t blknr;
+ long int blknr;
int blockoff = pos - (blocksize * i);
int blockend = blocksize;
int skipfirst = 0;
--
2.11.0
More information about the U-Boot
mailing list