From c2ed71c4ebd3e7cdbf90e3a0435ca7feae235be7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E9=80=9A=E6=B4=B2?= Date: Sun, 15 Jun 2025 00:00:22 +0800 Subject: [PATCH] Global: set `SetErrorMode(SEM_FAILCRITICALERRORS)` globally Fix #1805 --- src/common/init.c | 1 + src/detection/disk/disk_windows.c | 4 ---- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/src/common/init.c b/src/common/init.c index 561e856cf..8b6032c03 100644 --- a/src/common/init.c +++ b/src/common/init.c @@ -105,6 +105,7 @@ void ffStart(void) ffHideCursor = instance.config.display.hideCursor && !instance.config.display.pipe && !instance.state.resultDoc; #ifdef _WIN32 + SetErrorMode(SEM_FAILCRITICALERRORS); if (instance.config.display.noBuffer) setvbuf(stdout, NULL, _IONBF, 0); else diff --git a/src/detection/disk/disk_windows.c b/src/detection/disk/disk_windows.c index e8955908b..092a247c3 100644 --- a/src/detection/disk/disk_windows.c +++ b/src/detection/disk/disk_windows.c @@ -99,9 +99,6 @@ const char* ffDetectDisksImpl(FFDiskOptions* options, FFlist* disks) wchar_t diskName[MAX_PATH + 1], diskFileSystem[MAX_PATH + 1]; - //https://learn.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-getvolumeinformationa#remarks - UINT errorMode = SetErrorMode(SEM_FAILCRITICALERRORS); - DWORD diskFlags; BOOL result = GetVolumeInformationW(mountpoint, diskName, ARRAY_SIZE(diskName), //Volume name @@ -110,7 +107,6 @@ const char* ffDetectDisksImpl(FFDiskOptions* options, FFlist* disks) &diskFlags, //File system flags diskFileSystem, ARRAY_SIZE(diskFileSystem) ); - SetErrorMode(errorMode); if(result) {