[OpenWrt-Devel] [PATCH fstools 2/3] libblkid: vfat: Fix reading labels which starts with byte 0x05

Petr Štetiar ynezz at true.cz
Tue Dec 17 02:45:34 EST 2019


On December 17, 2019 7:28:35 AM UTC, "Rafał Miłecki" <zajec5 at gmail.com> wrote:
>From: Pali Rohár <pali.rohar at gmail.com>
>
>commit e526f503918cc29d8b1ccf36a5c3a34645d2be6e upstream.
>
>When FAT directory entry has leading byte 0x05 it is interpreted as
>byte
>0xE5. This is how FAT stores file name which starts with byte 0xE5 as
>leading byte in 0xE5 in FAT directory entry means that file slot is
>empty.
>
>Fixes: #533

FYI missing SoBs

>---
> libblkid-tiny/vfat.c | 2 ++
> 1 file changed, 2 insertions(+)
>
>diff --git a/libblkid-tiny/vfat.c b/libblkid-tiny/vfat.c
>index 49b865a..93e4053 100644
>--- a/libblkid-tiny/vfat.c
>+++ b/libblkid-tiny/vfat.c
>@@ -167,6 +167,8 @@ static unsigned char *search_fat_label(blkid_probe
>pr,
> 		if ((ent->attr & (FAT_ATTR_VOLUME_ID | FAT_ATTR_DIR)) ==
> 		    FAT_ATTR_VOLUME_ID) {
> 			DBG(LOWPROBE, ul_debug("\tfound fs LABEL at entry %d", i));
>+			if (ent->name[0] == 0x05)
>+				ent->name[0] = 0xE5;

Would it be possible to replace this magic values with some #define or such? 

> 			return ent->name;
> 		}
> 	}
>-- 
>2.21.0
>
>
>_______________________________________________
>openwrt-devel mailing list
>openwrt-devel at lists.openwrt.org
>https://lists.openwrt.org/mailman/listinfo/openwrt-devel


_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel


More information about the openwrt-devel mailing list