staging: exfat: check for null return from call to FAT_getblk
authorColin Ian King <colin.king@canonical.com>
Fri, 30 Aug 2019 17:50:50 +0000 (18:50 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 3 Sep 2019 07:39:10 +0000 (09:39 +0200)
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>
drivers/staging/exfat/exfat_cache.c

index f05d692..1565ce6 100644 (file)
@@ -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 {