diff options
| author | Adam Ierymenko <adam.ierymenko@gmail.com> | 2014-06-14 12:52:06 -0700 |
|---|---|---|
| committer | Adam Ierymenko <adam.ierymenko@gmail.com> | 2014-06-14 12:52:06 -0700 |
| commit | 367b5439e103c0d7fe87edf971d29245206aa6f7 (patch) | |
| tree | fd75058c9ae37fdbbc47adc28250538bf13d7e2d /node | |
| parent | 6802da457e39839aebd9a34cc4059a5c72ad0ab9 (diff) | |
| download | infinitytier-367b5439e103c0d7fe87edf971d29245206aa6f7.tar.gz infinitytier-367b5439e103c0d7fe87edf971d29245206aa6f7.zip | |
Run icacls.exe twice, once for each change - GitHub issue #71
Diffstat (limited to 'node')
| -rw-r--r-- | node/Utils.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/node/Utils.cpp b/node/Utils.cpp index 48363475..a1cdc8df 100644 --- a/node/Utils.cpp +++ b/node/Utils.cpp @@ -265,7 +265,12 @@ void Utils::lockDownFile(const char *path,bool isDir) CloseHandle(processInfo.hThread); } */ - if (CreateProcessA(NULL,(LPSTR)(std::string("C:\\Windows\\System32\\icacls.exe \"") + path + "\" /inheritance:d /remove *S-1-5-32-545 /Q").c_str(),NULL,NULL,FALSE,0,NULL,NULL,&startupInfo,&processInfo)) { + if (CreateProcessA(NULL,(LPSTR)(std::string("C:\\Windows\\System32\\icacls.exe \"") + path + "\" /inheritance:d /Q").c_str(),NULL,NULL,FALSE,0,NULL,NULL,&startupInfo,&processInfo)) { + WaitForSingleObject(processInfo.hProcess,INFINITE); + CloseHandle(processInfo.hProcess); + CloseHandle(processInfo.hThread); + } + if (CreateProcessA(NULL,(LPSTR)(std::string("C:\\Windows\\System32\\icacls.exe \"") + path + "\" /remove *S-1-5-32-545 /Q").c_str(),NULL,NULL,FALSE,0,NULL,NULL,&startupInfo,&processInfo)) { WaitForSingleObject(processInfo.hProcess,INFINITE); CloseHandle(processInfo.hProcess); CloseHandle(processInfo.hThread); |
