patch-2.2.0-pre2 linux/fs/fat/inode.c
Next file: linux/fs/isofs/inode.c
Previous file: linux/fs/dcache.c
Back to the patch index
Back to the overall index
- Lines: 11
- Date:
Tue Dec 29 14:07:40 1998
- Orig file:
v2.2.0-pre1/linux/fs/fat/inode.c
- Orig date:
Mon Dec 28 15:00:52 1998
diff -u --recursive --new-file v2.2.0-pre1/linux/fs/fat/inode.c linux/fs/fat/inode.c
@@ -366,7 +366,9 @@
CF_LE_W(b->info_sector) * logical_sector_size + 0x1e0;
fsinfo = (struct fat_boot_fsinfo *)
&bh->b_data[MSDOS_SB(sb)->fsinfo_offset];
- if (CF_LE_L(fsinfo->signature) != 0x61417272) {
+ if ((MSDOS_SB(sb)->fsinfo_offset - sizeof(MSDOS_SB(sb)->fsinfo_offset) + 1)> bh->b_size)
+ printk("fat_read_super: Bad fsinfo_offset\n");
+ else if (CF_LE_L(fsinfo->signature) != 0x61417272) {
printk("fat_read_super: Did not find valid FSINFO "
"signature. Found 0x%x\n",
CF_LE_L(fsinfo->signature));
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov