From 5a3411c5bb27b37e6e677ce27c69202ca97d7f1a Mon Sep 17 00:00:00 2001 From: DavidXanatos Date: Mon, 17 Jan 2022 16:32:28 +0100 Subject: [PATCH] 1.0.8 --- CHANGELOG.md | 3 ++- Sandboxie/core/dll/proc.c | 19 +++++++++++++------ 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 31de5752..84130420 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,7 @@ This project adheres to [Semantic Versioning](http://semver.org/). - The filename "sandman_pt" was changed to "sandman_pt_BR" (Brazilian Portuguese) [#1497](https://github.com/sandboxie-plus/Sandboxie/pull/1497) - The filename "sandman_ua" was changed to "sandman_uk" (Ukrainian) [#1527](https://github.com/sandboxie-plus/Sandboxie/issues/1527) -- Note: Translators are encouraged to follow the [Localization notes and tips](https://github.com/sandboxie-plus/Sandboxie/discussions/1123#discussioncomment-1203489) before creating a new pull request +- updated firefox update blocker (by isaak654) [#1545](https://github.com/sandboxie-plus/Sandboxie/issues/1545) ### Fixed - fixed issue with opening all file access OpenFilePath=* [#971](https://github.com/sandboxie-plus/Sandboxie/issues/971) @@ -37,7 +38,7 @@ This project adheres to [Semantic Versioning](http://semver.org/). - fixed issue with the settings window crashing when the driver was not connected - fixed DPI issues with Finder Tool [#912](https://github.com/sandboxie-plus/Sandboxie/issues/912) - fixed an other issue with reused pids [#1547](https://github.com/sandboxie-plus/Sandboxie/issues/1547) - +- fixed issue introduced in 1.0.6 related to SeAccessCheckByType [#1548](https://github.com/sandboxie-plus/Sandboxie/issues/1548) diff --git a/Sandboxie/core/dll/proc.c b/Sandboxie/core/dll/proc.c index a1a2d165..513cf0da 100644 --- a/Sandboxie/core/dll/proc.c +++ b/Sandboxie/core/dll/proc.c @@ -2196,7 +2196,7 @@ _FX BOOLEAN Proc_CheckMailer(const WCHAR *ImagePath, BOOLEAN IsBoxedPath) _FX BOOLEAN Proc_IsSoftwareUpdateW(const WCHAR *path) { - WCHAR *MatchExe, *MatchDir, *SoftName; + WCHAR *MatchExe, **MatchDirs, *SoftName; WCHAR *backslash; ULONG mp_flags; BOOLEAN IsUpdate; @@ -2224,7 +2224,8 @@ _FX BOOLEAN Proc_IsSoftwareUpdateW(const WCHAR *path) if (Dll_ImageType == DLL_IMAGE_MOZILLA_FIREFOX) { MatchExe = L"updater.exe"; - MatchDir = L"\\mozilla firefox\\updates\\"; + static WCHAR* Dirs[] = { L"\\mozilla firefox\\updates\\" , L"\\mozilla\\updates\\", L""}; + MatchDirs = Dirs; SoftName = L"Mozilla Firefox"; } else if (Dll_ImageType == DLL_IMAGE_GOOGLE_UPDATE) { @@ -2233,7 +2234,8 @@ _FX BOOLEAN Proc_IsSoftwareUpdateW(const WCHAR *path) return FALSE; MatchExe = L"chrome_installer.exe"; - MatchDir = L"\\google\\update\\"; + static WCHAR* Dirs[] = { L"\\google\\update\\", L""}; + MatchDirs = Dirs; SoftName = L"Google Chrome"; } else if (Dll_ImageType == DLL_IMAGE_SANDBOXIE_DCOMLAUNCH) { @@ -2242,7 +2244,8 @@ _FX BOOLEAN Proc_IsSoftwareUpdateW(const WCHAR *path) return FALSE; MatchExe = L"microsoftedgeupdatebroker.exe"; - MatchDir = L"\\microsoft\\edgeupdate"; + static WCHAR* Dirs[] = { L"\\microsoft\\edgeupdate", L""}; + MatchDirs = Dirs; SoftName = L"Microsoft Edge"; } else @@ -2262,9 +2265,13 @@ _FX BOOLEAN Proc_IsSoftwareUpdateW(const WCHAR *path) wmemcpy(path2, path, len); _wcslwr(path2); - if (wcsstr(path2, MatchDir)) { + for (WCHAR** MatchDir = MatchDirs; (*MatchDir)[0] != L'\0'; MatchDir++) { - IsUpdate = TRUE; + if (wcsstr(path2, *MatchDir)) { + + IsUpdate = TRUE; + break; + } } Dll_Free(path2);