mirror of
https://github.com/reactos/reactos.git
synced 2025-06-01 15:38:37 +00:00
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:
parent
cdd5ae5641
commit
3d5de429aa
2 changed files with 4 additions and 1 deletions
|
@ -72,6 +72,9 @@ NtfsCreateFCB(PCWSTR FileName, PNTFS_VCB Vcb)
|
||||||
{
|
{
|
||||||
PNTFS_FCB Fcb;
|
PNTFS_FCB Fcb;
|
||||||
|
|
||||||
|
ASSERT(Vcb);
|
||||||
|
ASSERT(Vcb->Identifier.Type == NTFS_TYPE_VCB);
|
||||||
|
|
||||||
Fcb = ExAllocatePoolWithTag(NonPagedPool, sizeof(NTFS_FCB), TAG_FCB);
|
Fcb = ExAllocatePoolWithTag(NonPagedPool, sizeof(NTFS_FCB), TAG_FCB);
|
||||||
RtlZeroMemory(Fcb, sizeof(NTFS_FCB));
|
RtlZeroMemory(Fcb, sizeof(NTFS_FCB));
|
||||||
|
|
||||||
|
|
|
@ -378,6 +378,7 @@ NtfsMountVolume(PDEVICE_OBJECT DeviceObject,
|
||||||
Vcb->StreamFileObject = IoCreateStreamFileObject(NULL,
|
Vcb->StreamFileObject = IoCreateStreamFileObject(NULL,
|
||||||
Vcb->StorageDevice);
|
Vcb->StorageDevice);
|
||||||
|
|
||||||
|
InitializeListHead(&Vcb->FcbListHead);
|
||||||
|
|
||||||
Fcb = NtfsCreateFCB(NULL, Vcb);
|
Fcb = NtfsCreateFCB(NULL, Vcb);
|
||||||
if (Fcb == NULL)
|
if (Fcb == NULL)
|
||||||
|
@ -426,7 +427,6 @@ NtfsMountVolume(PDEVICE_OBJECT DeviceObject,
|
||||||
ExInitializeResourceLite(&Vcb->DirResource);
|
ExInitializeResourceLite(&Vcb->DirResource);
|
||||||
|
|
||||||
KeInitializeSpinLock(&Vcb->FcbListLock);
|
KeInitializeSpinLock(&Vcb->FcbListLock);
|
||||||
InitializeListHead(&Vcb->FcbListHead);
|
|
||||||
|
|
||||||
/* Get serial number */
|
/* Get serial number */
|
||||||
NewDeviceObject->Vpb->SerialNumber = Vcb->NtfsInfo.SerialNumber;
|
NewDeviceObject->Vpb->SerialNumber = Vcb->NtfsInfo.SerialNumber;
|
||||||
|
|
Loading…
Reference in a new issue