summaryrefslogtreecommitdiff
path: root/node
diff options
context:
space:
mode:
authorAdam Ierymenko <adam.ierymenko@gmail.com>2014-06-14 12:52:06 -0700
committerAdam Ierymenko <adam.ierymenko@gmail.com>2014-06-14 12:52:06 -0700
commit367b5439e103c0d7fe87edf971d29245206aa6f7 (patch)
treefd75058c9ae37fdbbc47adc28250538bf13d7e2d /node
parent6802da457e39839aebd9a34cc4059a5c72ad0ab9 (diff)
downloadinfinitytier-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.cpp7
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);