Prevent OOB access on corrupted msdos directories.

Submitted by:	Veo Zhang <veo live com>
MFC after:	2 weeks
This commit is contained in:
delphij 2017-11-30 08:28:17 +00:00
parent 9186fa18d0
commit 3bf7697aa7

View File

@ -621,7 +621,7 @@ readDosDirSection(int f, struct bootblock *boot, struct fatEntry *fat,
dirent.name[8] = '\0';
for (k = 7; k >= 0 && dirent.name[k] == ' '; k--)
dirent.name[k] = '\0';
if (dirent.name[k] != '\0')
if (k < 0 || dirent.name[k] != '\0')
k++;
if (dirent.name[0] == SLOT_E5)
dirent.name[0] = 0xe5;