From fc7037b670fd55b9b199a5a1ee76f7bdee2bc816 Mon Sep 17 00:00:00 2001 From: Mounir IDRASSI Date: Wed, 19 Feb 2025 10:29:27 +0100 Subject: Linux/macOS: use absolute path of 'true' command when checking if sudo session is active. --- src/Core/Unix/CoreService.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/Core/Unix/CoreService.cpp b/src/Core/Unix/CoreService.cpp index dc2f4e6b..9531069a 100644 --- a/src/Core/Unix/CoreService.cpp +++ b/src/Core/Unix/CoreService.cpp @@ -314,7 +314,11 @@ namespace VeraCrypt if (sudoAbsolutePath.empty()) throw SystemException(SRC_POS, errorMsg); - std::string popenCommand = sudoAbsolutePath + " -n true > /dev/null 2>&1"; // We redirect stderr to stdout (2>&1) to be able to catch the result of the command + string trueAbsolutePath = Process::FindSystemBinary("true", errorMsg); + if (trueAbsolutePath.empty()) + throw SystemException(SRC_POS, errorMsg); + + std::string popenCommand = sudoAbsolutePath + " -n " + trueAbsolutePath + " > /dev/null 2>&1"; // We redirect stderr to stdout (2>&1) to be able to catch the result of the command FILE* pipe = popen(popenCommand.c_str(), "r"); if (pipe) { -- cgit v1.2.3