From 0dcba7cc48b36028cfe4934ad0efc3af0daeb1d6 Mon Sep 17 00:00:00 2001 From: DavidXanatos <3890945+DavidXanatos@users.noreply.github.com> Date: Sat, 11 Feb 2023 13:03:49 +0100 Subject: [PATCH] 1.7.3 --- Sandboxie/common/pattern.c | 6 +++--- Sandboxie/core/dll/dllpath.c | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Sandboxie/common/pattern.c b/Sandboxie/common/pattern.c index 6fc4dc03..61ed40d5 100644 --- a/Sandboxie/common/pattern.c +++ b/Sandboxie/common/pattern.c @@ -703,7 +703,7 @@ _FX int Pattern_MatchPathList( _FX BOOLEAN Pattern_MatchPathListEx(WCHAR *path_lwr, ULONG path_len, LIST *list, ULONG* plevel, int* pmatch_len, ULONG* pflags, USHORT* pwildc, const WCHAR** patsrc) { - PATTERN* found; + const WCHAR* cur_patsrc; ULONG cur_level; ULONG cur_flags; USHORT cur_wildc; @@ -713,7 +713,7 @@ _FX BOOLEAN Pattern_MatchPathListEx(WCHAR *path_lwr, ULONG path_len, LIST *list, cur_level = *plevel; cur_flags = *pflags; cur_wildc = *pwildc; - cur_len = Pattern_MatchPathList(path_lwr, path_len, list, &cur_level, &cur_flags, &cur_wildc, &found); + cur_len = Pattern_MatchPathList(path_lwr, path_len, list, &cur_level, &cur_flags, &cur_wildc, &cur_patsrc); if (cur_level <= *plevel && ( ((*pflags & MATCH_FLAG_EXACT) == 0 && (cur_flags & MATCH_FLAG_EXACT) != 0) || // an exact match overrules any non exact match ((*pflags & MATCH_FLAG_AUX) != 0 && (cur_flags & MATCH_FLAG_AUX) == 0) || // a rule with a primary match overrules auxyliary matches @@ -724,7 +724,7 @@ _FX BOOLEAN Pattern_MatchPathListEx(WCHAR *path_lwr, ULONG path_len, LIST *list, *pflags = cur_flags; *pwildc = cur_wildc; *pmatch_len = cur_len; - if (patsrc) *patsrc = Pattern_Source(found); + if (patsrc) *patsrc = cur_patsrc; return TRUE; } diff --git a/Sandboxie/core/dll/dllpath.c b/Sandboxie/core/dll/dllpath.c index 57717a10..c1a74ed7 100644 --- a/Sandboxie/core/dll/dllpath.c +++ b/Sandboxie/core/dll/dllpath.c @@ -506,7 +506,7 @@ _FX ULONG SbieDll_MatchPath2(WCHAR path_code, const WCHAR *path, BOOLEAN bCheckO // if (Pattern_MatchPathListEx(path_lwr, path_len, read_list, &level, &match_len, &flags, &wildc, NULL)) { //patsrc)) { - mp_flags = PATH_READ_FLAG; + mp_flags = PATH_OPEN_FLAG; // say its open and let the driver deny the write access if (!use_rule_specificity) goto finish; }