mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-11 07:34:31 +00:00
fat: correct ATTR_VFAT check
ATTR_VFAT condition requires multiple bits to be set but the present condition checking in do_fat_read() & get_dentfromdir() ends up passing on even a single bit being set. Signed-off-by: J. Vijayanand <vijayanand.jayaraman@in.bosch.com> Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
This commit is contained in:
parent
e116cc069f
commit
206d68fdd4
1 changed files with 3 additions and 3 deletions
|
@ -572,8 +572,8 @@ static dir_entry *get_dentfromdir (fsdata *mydata, int startsect,
|
|||
}
|
||||
if ((dentptr->attr & ATTR_VOLUME)) {
|
||||
#ifdef CONFIG_SUPPORT_VFAT
|
||||
if ((dentptr->attr & ATTR_VFAT) &&
|
||||
(dentptr-> name[0] & LAST_LONG_ENTRY_MASK)) {
|
||||
if ((dentptr->attr & ATTR_VFAT) == ATTR_VFAT &&
|
||||
(dentptr->name[0] & LAST_LONG_ENTRY_MASK)) {
|
||||
prevcksum = ((dir_slot *)dentptr)->alias_checksum;
|
||||
get_vfatname(mydata, curclust,
|
||||
get_dentfromdir_block,
|
||||
|
@ -897,7 +897,7 @@ do_fat_read (const char *filename, void *buffer, unsigned long maxsize,
|
|||
}
|
||||
if ((dentptr->attr & ATTR_VOLUME)) {
|
||||
#ifdef CONFIG_SUPPORT_VFAT
|
||||
if ((dentptr->attr & ATTR_VFAT) &&
|
||||
if ((dentptr->attr & ATTR_VFAT) == ATTR_VFAT &&
|
||||
(dentptr->name[0] & LAST_LONG_ENTRY_MASK)) {
|
||||
prevcksum =
|
||||
((dir_slot *)dentptr)->alias_checksum;
|
||||
|
|
Loading…
Reference in a new issue