[FASTFAT] Avoid a use after free in VfatCheckForDismount.

This commit is contained in:
Thomas Faber 2019-01-12 16:25:34 +01:00
parent b61b18157b
commit bc8307205b
No known key found for this signature in database
GPG key ID: 076E7C3D44720826

View file

@ -539,12 +539,12 @@ VfatCheckForDismount(
} }
if (DeviceExt->FATFileObject) if (DeviceExt->FATFileObject)
{ {
Fcb = (PVFATFCB)DeviceExt->FATFileObject->FsContext; Fcb = DeviceExt->FATFileObject->FsContext;
CcUninitializeCacheMap(DeviceExt->FATFileObject, CcUninitializeCacheMap(DeviceExt->FATFileObject,
&Zero, &Zero,
NULL); NULL);
ObDereferenceObject(DeviceExt->FATFileObject);
DeviceExt->FATFileObject->FsContext = NULL; DeviceExt->FATFileObject->FsContext = NULL;
ObDereferenceObject(DeviceExt->FATFileObject);
DeviceExt->FATFileObject = NULL; DeviceExt->FATFileObject = NULL;
vfatDestroyFCB(Fcb); vfatDestroyFCB(Fcb);
} }