diff --git a/kernel/trunk/fs/fat32.inc b/kernel/trunk/fs/fat32.inc index ec75ea0777..35db54c14c 100644 --- a/kernel/trunk/fs/fat32.inc +++ b/kernel/trunk/fs/fat32.inc @@ -2845,6 +2845,10 @@ fat_Delete: mov eax, esi call get_FAT jc .err1 + cmp eax, 2 + jb .error_fat + cmp eax, [ebp+FAT.fatRESERVED] + jae .empty mov esi, eax xor ecx, ecx @@: @@ -2865,6 +2869,13 @@ fat_Delete: push ERROR_DEVICE pop eax ret +.error_fat: + popad + pop edi + call fat_unlock + push ERROR_FAT_TABLE + pop eax + ret .notempty: popad .access_denied2: