UPSTREAM: fs: avoid possible NULL dereference in fs_devread
It is unwise to first dereference a variable and then to check if it was NULL. Change-Id: I2c28e092380c649874fab06f0b4e453466e2d16c Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Reviewed-by: Marek Behun <marek.behun@nic.cz> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Signed-off-by: Kever Yang <kever.yang@rock-chips.com> (cherry picked from commit 24f48416dfe1d827dcf759d6cd0e7a8e5c67e321)
This commit is contained in:
parent
6ff3d5909f
commit
1759abcc94
|
|
@ -15,12 +15,13 @@ int fs_devread(struct blk_desc *blk, disk_partition_t *partition,
|
||||||
lbaint_t sector, int byte_offset, int byte_len, char *buf)
|
lbaint_t sector, int byte_offset, int byte_len, char *buf)
|
||||||
{
|
{
|
||||||
unsigned block_len;
|
unsigned block_len;
|
||||||
int log2blksz = blk->log2blksz;
|
int log2blksz;
|
||||||
ALLOC_CACHE_ALIGN_BUFFER(char, sec_buf, (blk ? blk->blksz : 0));
|
ALLOC_CACHE_ALIGN_BUFFER(char, sec_buf, (blk ? blk->blksz : 0));
|
||||||
if (blk == NULL) {
|
if (blk == NULL) {
|
||||||
printf("** Invalid Block Device Descriptor (NULL)\n");
|
printf("** Invalid Block Device Descriptor (NULL)\n");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
log2blksz = blk->log2blksz;
|
||||||
|
|
||||||
/* Check partition boundaries */
|
/* Check partition boundaries */
|
||||||
if ((sector + ((byte_offset + byte_len - 1) >> log2blksz))
|
if ((sector + ((byte_offset + byte_len - 1) >> log2blksz))
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue