This commit is contained in:
DavidXanatos 2023-12-21 22:46:50 +01:00
parent 6c440ee822
commit 7954eab1ec
3 changed files with 9 additions and 8 deletions

View File

@ -11,8 +11,9 @@ This project adheres to [Semantic Versioning](http://semver.org/).
### Fixed ### Fixed
- fixed Sandboxie-Plus 1.12.4 + failed to start start.exe in confidential box [#3514](https://github.com/sandboxie-plus/Sandboxie/issues/3514) - fixed Sandboxie-Plus 1.12.4 + failed to start start.exe in confidential box [#3514](https://github.com/sandboxie-plus/Sandboxie/issues/3514)
- fixed fix for [#3475](https://github.com/sandboxie-plus/Sandboxie/issues/3475) not working without FileRootPath being explicitly set
- fixed "The directory name is invalid" when starting a process in a encrypted private box [#3475](https://github.com/sandboxie-plus/Sandboxie/issues/3475) - fixed "The directory name is invalid" when starting a process in a encrypted private box [#3475](https://github.com/sandboxie-plus/Sandboxie/issues/3475)
- fixed symbolic links created inside a sandbox not working properly [#3181](https://github.com/sandboxie-plus/Sandboxie/issues/3181)
- fixed issue with drives mounted to multiple fodlers or a drive lettet and a folder

View File

@ -858,7 +858,7 @@ _FX void File_InitLinks(THREAD_DATA *TlsData)
save_char = DeviceName[DeviceNameLen]; save_char = DeviceName[DeviceNameLen];
DeviceName[DeviceNameLen] = L'\0'; DeviceName[DeviceNameLen] = L'\0';
if (Output2->MultiSzLength) { if (Output2->MultiSzLength && *Output2->MultiSz) {
WCHAR *DosPath = Output2->MultiSz; WCHAR *DosPath = Output2->MultiSz;
ULONG DosPathLen = wcslen(DosPath); ULONG DosPathLen = wcslen(DosPath);
@ -890,10 +890,10 @@ _FX void File_InitLinks(THREAD_DATA *TlsData)
// //
WCHAR *FirstDosPath = DosPath; WCHAR *FirstDosPath = DosPath;
File_AddLink(TRUE, DeviceName, FirstDosPath); File_AddLink(TRUE, FirstDosPath, DeviceName);
DosPath += DosPathLen + 1; DosPath += DosPathLen + 1;
while (*DosPath) { while (*DosPath) {
File_AddLink(TRUE, DosPath, FirstDosPath); File_AddLink(TRUE, DosPath, DeviceName);
DosPath += wcslen(DosPath) + 1; DosPath += wcslen(DosPath) + 1;
} }
} }

View File

@ -1276,15 +1276,15 @@ _FX FILE_LINK *File_FindPermLinksForMatchPath(
link = List_Head(File_PermLinks); link = List_Head(File_PermLinks);
while (link) { while (link) {
const ULONG dst_len = link->dst_len; const ULONG src_len = link->src_len;
if ( if (
#ifdef WOW64_FS_REDIR #ifdef WOW64_FS_REDIR
link != File_Wow64FileLink && link != File_Wow64FileLink &&
#endif WOW64_FS_REDIR #endif WOW64_FS_REDIR
name_len >= dst_len && name_len >= src_len &&
(name[dst_len] == L'\\' || name[dst_len] == L'\0') && (name[src_len] == L'\\' || name[src_len] == L'\0') &&
_wcsnicmp(name, link->dst, dst_len) == 0) { _wcsnicmp(name, link->src, src_len) == 0) {
return link; return link;
} }