diff options
author | Jertzukka <Jertzukka@gmail.com> | 2024-06-03 09:09:54 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-06-03 08:09:54 +0200 |
commit | bd1e7726573e1834e9954d3b30c9bc255c96a840 (patch) | |
tree | 58034c5988885500736ea4be6f96f07655a1b714 | |
parent | 6ac3b02a24ac40e775772f1ea95603c17c5cbaf4 (diff) | |
download | VeraCrypt-bd1e7726573e1834e9954d3b30c9bc255c96a840.tar.gz VeraCrypt-bd1e7726573e1834e9954d3b30c9bc255c96a840.zip |
FreeBSD: Fix privilege escalation prompts not showing up (#1349)
The behaviour of `wc -l` is different on FreeBSD, in which the stdout
result is padded by spaces in the beginning, which causes that the
result[0] is not actually the value we care about. This patch adds
a translate removing all whitespace from the output.
-rw-r--r-- | src/Core/Unix/CoreService.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/Core/Unix/CoreService.cpp b/src/Core/Unix/CoreService.cpp index e543652a..e3fca20e 100644 --- a/src/Core/Unix/CoreService.cpp +++ b/src/Core/Unix/CoreService.cpp @@ -309,7 +309,7 @@ namespace VeraCrypt std::vector<char> buffer(128, 0); std::string result; - FILE* pipe = popen("sudo -n uptime 2>&1 | grep 'load average' | wc -l", "r"); // We redirect stderr to stdout (2>&1) to be able to catch the result of the command + FILE* pipe = popen("sudo -n uptime 2>&1 | grep 'load average' | wc -l | tr -d '[:blank:]'", "r"); // We redirect stderr to stdout (2>&1) to be able to catch the result of the command if (pipe) { while (!feof(pipe)) |