[UDFS] Fix crash on boot in release builds with UDFS removable media inserted (#4061) CORE-17598

Changes to specific files and their effects are as follows:
create.cpp - Allows booting past second stage with UDFS media inserted without BSOD
close.cpp - Allows shutdown without hang
dircntrl.cpp - Allows New Hardware Wizard not to hang on initial third phase install
This commit is contained in:
Doug Lyons 2021-10-25 15:21:43 -05:00 committed by GitHub
parent cd48bc7af8
commit a91f5e8e4d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 19 additions and 19 deletions

View file

@ -921,18 +921,18 @@ UDFCloseAllXXXDelayedInDir(
IN BOOLEAN System
)
{
PUDF_FILE_INFO* PassedList = NULL;
ULONG PassedListSize = 0;
PUDF_FILE_INFO* FoundList = NULL;
ULONG FoundListSize = 0;
NTSTATUS RC;
ULONG i;
BOOLEAN ResAcq = FALSE;
BOOLEAN AcquiredVcb = FALSE;
UDFNTRequiredFCB* NtReqFcb;
PUDF_FILE_INFO CurFileInfo;
PFE_LIST_ENTRY CurListPtr;
PFE_LIST_ENTRY* ListPtrArray = NULL;
PUDF_FILE_INFO* PassedList = NULL;
ULONG PassedListSize = 0;
PUDF_FILE_INFO* FoundList = NULL;
ULONG FoundListSize = 0;
NTSTATUS RC;
ULONG i;
_SEH2_VOLATILE BOOLEAN ResAcq = FALSE;
_SEH2_VOLATILE BOOLEAN AcquiredVcb = FALSE;
UDFNTRequiredFCB* NtReqFcb;
PUDF_FILE_INFO CurFileInfo;
PFE_LIST_ENTRY CurListPtr;
PFE_LIST_ENTRY* ListPtrArray = NULL;
_SEH2_TRY {

View file

@ -204,7 +204,7 @@ UDFCommonCreate(
ACCESS_MASK DesiredAccess;
PACCESS_STATE AccessState;
PVCB Vcb = NULL;
_SEH2_VOLATILE PVCB Vcb = NULL;
_SEH2_VOLATILE BOOLEAN AcquiredVcb = FALSE;
BOOLEAN OpenExisting = FALSE;
PERESOURCE Res1 = NULL;

View file

@ -134,8 +134,8 @@ UDFCommonDirControl(
PFILE_OBJECT FileObject = NULL;
PtrUDFFCB Fcb = NULL;
PtrUDFCCB Ccb = NULL;
PVCB Vcb = NULL;
BOOLEAN AcquiredVcb = FALSE;
_SEH2_VOLATILE PVCB Vcb = NULL;
_SEH2_VOLATILE BOOLEAN AcquiredVcb = FALSE;
TmPrint(("UDFCommonDirControl: \n"));
// BrutePoint();
@ -226,8 +226,8 @@ UDFQueryDirectory(
BOOLEAN PostRequest = FALSE;
PtrUDFNTRequiredFCB NtReqFcb = NULL;
BOOLEAN CanWait = FALSE;
PVCB Vcb = NULL;
BOOLEAN AcquiredFCB = FALSE;
_SEH2_VOLATILE PVCB Vcb = NULL;
_SEH2_VOLATILE BOOLEAN AcquiredFCB = FALSE;
unsigned long BufferLength = 0;
UNICODE_STRING SearchPattern;
PUNICODE_STRING PtrSearchPattern;
@ -696,8 +696,8 @@ UDFNotifyChangeDirectory(
BOOLEAN CanWait = FALSE;
ULONG CompletionFilter = 0;
BOOLEAN WatchTree = FALSE;
PVCB Vcb = NULL;
BOOLEAN AcquiredFCB = FALSE;
_SEH2_VOLATILE PVCB Vcb = NULL;
_SEH2_VOLATILE BOOLEAN AcquiredFCB = FALSE;
PEXTENDED_IO_STACK_LOCATION pStackLocation = (PEXTENDED_IO_STACK_LOCATION) IrpSp;
UDFPrint(("UDFNotifyChangeDirectory\n"));