summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLokesh Vutla <lokeshvutla@ti.com>2017-04-26 11:28:22 (GMT)
committerTom Rini <trini@konsulko.com>2017-04-27 20:49:09 (GMT)
commit509b498a500afab1111d69f789b630c699b071a3 (patch)
tree9dc40469845fd01d98382361f89be57f855a5859
parent8a707bafe0677b034632dda6dd0dc1061b105ff1 (diff)
downloadu-boot-509b498a500afab1111d69f789b630c699b071a3.tar.xz
ext4: Fix comparision of unsigned expression with < 0
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. Similarly ext4/dev.c does a similar comparison. Drop the redundant comparison. Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com> Reviewed-by: Tom Rini <trini@konsulko.com>
-rw-r--r--fs/ext4/dev.c5
-rw-r--r--fs/ext4/ext4fs.c2
2 files changed, 3 insertions, 4 deletions
diff --git a/fs/ext4/dev.c b/fs/ext4/dev.c
index ee84d3f..ae2ba6a 100644
--- a/fs/ext4/dev.c
+++ b/fs/ext4/dev.c
@@ -60,9 +60,8 @@ int ext4fs_devread(lbaint_t sector, int byte_offset, int byte_len, char *buf)
}
/* Check partition boundaries */
- if ((sector < 0) ||
- ((sector + ((byte_offset + byte_len - 1) >> log2blksz))
- >= part_info->size)) {
+ if ((sector + ((byte_offset + byte_len - 1) >> log2blksz))
+ >= part_info->size) {
printf("%s read outside partition " LBAFU "\n", __func__,
sector);
return 0;
diff --git a/fs/ext4/ext4fs.c b/fs/ext4/ext4fs.c
index 7187dcf..081509d 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;