From f586c89c318353b9e9d826d3401a89b3ad6f024b Mon Sep 17 00:00:00 2001 From: AJIOB Date: Mon, 24 Jul 2023 16:26:59 +0300 Subject: [PATCH] Volume label does not a directory anymore --- src/syslinux/libfat/searchdir.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/syslinux/libfat/searchdir.c b/src/syslinux/libfat/searchdir.c index 4964120b..c35993dd 100644 --- a/src/syslinux/libfat/searchdir.c +++ b/src/syslinux/libfat/searchdir.c @@ -40,7 +40,8 @@ int32_t libfat_searchdir(struct libfat_filesystem *fs, int32_t dirclust, for (nent = 0; nent < LIBFAT_SECTOR_SIZE; nent += sizeof(struct fat_dirent)) { - if (!memcmp(dep->name, name, 11)) { + // Volume label entry must be ignored: it is not a real directory + if ((dep->attribute & 0x08) == 0 && !memcmp(dep->name, name, 11)) { if (direntry) { memcpy(direntry->entry, dep, sizeof(*dep)); direntry->sector = s;