Author: pschweitzer
Date: Sun Oct 12 11:43:10 2014
New Revision: 64691
URL:
http://svn.reactos.org/svn/reactos?rev=64691&view=rev
Log:
[NTFS]
Properly reset FCB & SectionObjectPointer fields from the FileObject on close
Modified:
trunk/reactos/drivers/filesystems/ntfs/close.c
Modified: trunk/reactos/drivers/filesystems/ntfs/close.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/filesystems/ntfs/c…
==============================================================================
--- trunk/reactos/drivers/filesystems/ntfs/close.c [iso-8859-1] (original)
+++ trunk/reactos/drivers/filesystems/ntfs/close.c [iso-8859-1] Sun Oct 12 11:43:10 2014
@@ -42,12 +42,14 @@
PFILE_OBJECT FileObject)
{
PNTFS_CCB Ccb;
+ PNTFS_FCB Fcb;
DPRINT("NtfsCloseFile(DeviceExt %p, FileObject %p)\n",
DeviceExt,
FileObject);
Ccb = (PNTFS_CCB)(FileObject->FsContext2);
+ Fcb = (PNTFS_FCB)(FileObject->FsContext);
DPRINT("Ccb %p\n", Ccb);
if (Ccb == NULL)
@@ -56,13 +58,15 @@
}
FileObject->FsContext2 = NULL;
+ FileObject->FsContext = NULL;
+ FileObject->SectionObjectPointer = NULL;
if (FileObject->FileName.Buffer)
{
// This a FO, that was created outside from FSD.
// Some FO's are created with IoCreateStreamFileObject() insid from FSD.
// This FO's don't have a FileName.
- NtfsReleaseFCB(DeviceExt, FileObject->FsContext);
+ NtfsReleaseFCB(DeviceExt, Fcb);
}
if (Ccb->DirectorySearchPattern)