Bugfixes:

- Check whether we have a valid VCB before creating FCB
- Initialize FCBs list before using it...

svn path=/trunk/; revision=34039
This commit is contained in:
Pierre Schweitzer 2008-06-21 10:04:14 +00:00
parent cdd5ae5641
commit 3d5de429aa
2 changed files with 4 additions and 1 deletions

View file

@ -72,6 +72,9 @@ NtfsCreateFCB(PCWSTR FileName, PNTFS_VCB Vcb)
{
PNTFS_FCB Fcb;
ASSERT(Vcb);
ASSERT(Vcb->Identifier.Type == NTFS_TYPE_VCB);
Fcb = ExAllocatePoolWithTag(NonPagedPool, sizeof(NTFS_FCB), TAG_FCB);
RtlZeroMemory(Fcb, sizeof(NTFS_FCB));

View file

@ -378,6 +378,7 @@ NtfsMountVolume(PDEVICE_OBJECT DeviceObject,
Vcb->StreamFileObject = IoCreateStreamFileObject(NULL,
Vcb->StorageDevice);
InitializeListHead(&Vcb->FcbListHead);
Fcb = NtfsCreateFCB(NULL, Vcb);
if (Fcb == NULL)
@ -426,7 +427,6 @@ NtfsMountVolume(PDEVICE_OBJECT DeviceObject,
ExInitializeResourceLite(&Vcb->DirResource);
KeInitializeSpinLock(&Vcb->FcbListLock);
InitializeListHead(&Vcb->FcbListHead);
/* Get serial number */
NewDeviceObject->Vpb->SerialNumber = Vcb->NtfsInfo.SerialNumber;