diff options
Diffstat (limited to 'src/Platform/Unix/Process.cpp')
-rw-r--r-- | src/Platform/Unix/Process.cpp | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/src/Platform/Unix/Process.cpp b/src/Platform/Unix/Process.cpp index 07703649..92a8f478 100644 --- a/src/Platform/Unix/Process.cpp +++ b/src/Platform/Unix/Process.cpp @@ -3,7 +3,7 @@ Copyright (c) 2008-2012 TrueCrypt Developers Association and which is governed by the TrueCrypt License 3.0. - Modifications and additions to the original source code (contained in this file) + Modifications and additions to the original source code (contained in this file) and all other portions of this file are Copyright (c) 2013-2016 IDRIX and are governed by the Apache License 2.0 the full text of which is contained in the file License.txt included in VeraCrypt binary and source @@ -53,16 +53,16 @@ namespace VeraCrypt try { int argIndex = 0; - /* Workaround for gcc 5.X issue related to the use of STL (string and list) with muliple fork calls. - * + /* Workaround for gcc 5.X issue related to the use of STL (string and list) with muliple fork calls. + * * The char* pointers retrieved from the elements of parameter "arguments" are no longer valid after * a second fork is called. "arguments" was created in the parent of the current child process. - * - * The only solution is to copy the elements of "arguments" parameter in a local string array on this - * child process and then use char* pointers retrieved from this local copies before calling fork. - * + * + * The only solution is to copy the elements of "arguments" parameter in a local string array on this + * child process and then use char* pointers retrieved from this local copies before calling fork. + * * gcc 4.x doesn't suffer from this issue. - * + * */ string argsCopy[array_capacity (args)]; if (!execFunctor) @@ -74,7 +74,7 @@ namespace VeraCrypt { argsCopy[argIndex++] = arg; } - + for (int i = 0; i < argIndex; i++) { args[i] = const_cast <char*> (argsCopy[i].c_str()); |