summaryrefslogtreecommitdiff
path: root/drivers/staging
diff options
context:
space:
mode:
authorColin Ian King <colin.king@canonical.com>2019-08-30 18:50:50 +0100
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2019-09-03 09:39:10 +0200
commitdab8fe7ea267711cf28bb7c87361fa3c2293fa97 (patch)
treef9e78a0b7b2eb26644997bf13d0aedce908c604c /drivers/staging
parent329101244f214952606359d254ae883b7109e1a5 (diff)
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')
-rw-r--r--drivers/staging/exfat/exfat_cache.c2
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 {