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/cl... ============================================================================== --- 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)