summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Rasmussen <sebastian.rasmussen@stericsson.com>2011-02-08 16:57:27 +0100
committerJean-Baptiste Queru <jbq@google.com>2012-05-29 08:48:51 -0700
commit6c29bbe8d58e6fe8755935a04166ecf82ff31f47 (patch)
tree816978ab1a5455edfc896935c5569c4682977f6e
parentf717a6ed5b25287fa9417096f90e7c047ace0c15 (diff)
downloadandroid_external_fsck_msdos-6c29bbe8d58e6fe8755935a04166ecf82ff31f47.tar.gz
android_external_fsck_msdos-6c29bbe8d58e6fe8755935a04166ecf82ff31f47.tar.bz2
android_external_fsck_msdos-6c29bbe8d58e6fe8755935a04166ecf82ff31f47.zip
Detect and handle invalid number of FATs
If the number of FATs field in the boot sector is zero, give an appropriate error code. Change-Id: I56545fb322a9d4c94aea8ddbd4879701617100e4 Signed-off-by: Sebastian Rasmussen <sebastian.rasmussen@stericsson.com> Signed-off-by: Christian Bejram <christian.bejram@stericsson.com>
-rw-r--r--boot.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/boot.c b/boot.c
index 6e797fd..52bf011 100644
--- a/boot.c
+++ b/boot.c
@@ -205,6 +205,10 @@ readboot(dosfs, boot)
pfatal("Invalid sector size: %u", boot->BytesPerSec);
return FSFATAL;
}
+ if (boot->FATs == 0) {
+ pfatal("Invalid number of FATs: %u", boot->FATs);
+ return FSFATAL;
+ }
if (boot->Sectors) {
boot->HugeSectors = 0;
boot->NumSectors = boot->Sectors;