From 0e999beea12180ad8074879dea8fc333bfbd2a24 Mon Sep 17 00:00:00 2001 From: Timo Kreuzer Date: Mon, 19 Jan 2026 16:10:24 +0200 Subject: [PATCH] [UDFS] Fix GCC 13 warnings about uninitialized variables Also apply _SEH2_VOLATILE where needed (all variables that are set in the __try block and referenced in the __except or __finally block). It's hard to tell whether these are false positives, because the code is quite a mess. C:/ReactOS/reactos/drivers/filesystems/udfs/udfinit.cpp: In function 'NTSTATUS UDFDismountDevice(PUNICODE_STRING)': C:/ReactOS/reactos/drivers/filesystems/udfs/udfinit.cpp:643:36: error: 'Buffer' is used uninitialized [-Werror=uninitialized] 643 | PFILE_FS_ATTRIBUTE_INFORMATION Buffer; | ^~~~~~ --- drivers/filesystems/udfs/close.cpp | 2 +- drivers/filesystems/udfs/fileinfo.cpp | 6 +++--- drivers/filesystems/udfs/udfinit.cpp | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/drivers/filesystems/udfs/close.cpp b/drivers/filesystems/udfs/close.cpp index efd4224782b..aff12ac8725 100644 --- a/drivers/filesystems/udfs/close.cpp +++ b/drivers/filesystems/udfs/close.cpp @@ -1111,7 +1111,7 @@ UDFQueueDelayedClose( PtrUDFIrpContextLite IrpContextLite; BOOLEAN StartWorker = FALSE; _SEH2_VOLATILE BOOLEAN AcquiredVcb = FALSE; - NTSTATUS RC; + _SEH2_VOLATILE NTSTATUS RC = STATUS_UNSUCCESSFUL; AdPrint((" UDFQueueDelayedClose\n")); diff --git a/drivers/filesystems/udfs/fileinfo.cpp b/drivers/filesystems/udfs/fileinfo.cpp index 68131502232..9e821a25a55 100644 --- a/drivers/filesystems/udfs/fileinfo.cpp +++ b/drivers/filesystems/udfs/fileinfo.cpp @@ -1973,9 +1973,9 @@ UDFRename( // Overwite Flag BOOLEAN Replace = PtrSp->Parameters.SetFile.ReplaceIfExists && PtrBuffer->ReplaceIfExists; - NTSTATUS RC; + _SEH2_VOLATILE NTSTATUS RC = STATUS_UNSUCCESSFUL; PVCB Vcb = Fcb1->Vcb; - PtrUDFFCB Fcb2; + PtrUDFFCB Fcb2 = NULL; BOOLEAN ic; BOOLEAN AcquiredVcb = TRUE; BOOLEAN AcquiredVcbEx = FALSE; @@ -1985,7 +1985,7 @@ UDFRename( BOOLEAN UseClose; PUDF_FILE_INFO File1; - PUDF_FILE_INFO Dir1; + _SEH2_VOLATILE PUDF_FILE_INFO Dir1 = NULL; PUDF_FILE_INFO Dir2; PUDF_FILE_INFO NextFileInfo, fi; diff --git a/drivers/filesystems/udfs/udfinit.cpp b/drivers/filesystems/udfs/udfinit.cpp index 9030ecf79c0..df0e9aff01d 100644 --- a/drivers/filesystems/udfs/udfinit.cpp +++ b/drivers/filesystems/udfs/udfinit.cpp @@ -640,7 +640,7 @@ UDFDismountDevice( HANDLE NtFileHandle = (HANDLE)-1; OBJECT_ATTRIBUTES ObjectAttributes; NOTIFY_MEDIA_CHANGE_USER_IN buffer = { 0 }; - PFILE_FS_ATTRIBUTE_INFORMATION Buffer; + _SEH2_VOLATILE PFILE_FS_ATTRIBUTE_INFORMATION Buffer = NULL; _SEH2_TRY {