diff options
author | Colin Ian King <colin.king@canonical.com> | 2019-08-30 20:50:50 +0300 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2019-09-03 10:39:10 +0300 |
commit | dab8fe7ea267711cf28bb7c87361fa3c2293fa97 (patch) | |
tree | f9e78a0b7b2eb26644997bf13d0aedce908c604c /drivers/staging/exfat | |
parent | 329101244f214952606359d254ae883b7109e1a5 (diff) | |
download | linux-dab8fe7ea267711cf28bb7c87361fa3c2293fa97.tar.xz |
staging: exfat: check for null return from call to FAT_getblk
A call to FAT_getblk is missing a null return check which can
lead to a null pointer dereference. Fix this by adding a null
check to match all the other FAT_getblk return sanity checks.
Addresses-Coverity: ("Dereference null return")
Fixes: c48c9f7ff32b ("staging: exfat: add exfat filesystem code to staging")
Signed-off-by: Colin Ian King <colin.king@canonical.com>
Link: https://lore.kernel.org/r/20190830175050.12706-1-colin.king@canonical.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/staging/exfat')
-rw-r--r-- | drivers/staging/exfat/exfat_cache.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/staging/exfat/exfat_cache.c b/drivers/staging/exfat/exfat_cache.c index f05d692c2b1e..1565ce65d39f 100644 --- a/drivers/staging/exfat/exfat_cache.c +++ b/drivers/staging/exfat/exfat_cache.c @@ -369,6 +369,8 @@ static s32 __FAT_write(struct super_block *sb, u32 loc, u32 content) FAT_modify(sb, sec); fat_sector = FAT_getblk(sb, ++sec); + if (!fat_sector) + return -1; fat_sector[0] = (u8)((fat_sector[0] & 0xF0) | (content >> 8)); } else { |