From a8413022074c549f61b3f0da9d6cb0a802794e02 Mon Sep 17 00:00:00 2001 From: Andrew den Exter Date: Tue, 22 Jan 2019 13:52:10 +1000 Subject: [PATCH] [booster] Check for execute permissions before invoking a process. Fixes JB#44214 --- src/launcherlib/booster.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/launcherlib/booster.cpp b/src/launcherlib/booster.cpp index c13f30b..ed24aa8 100644 --- a/src/launcherlib/booster.cpp +++ b/src/launcherlib/booster.cpp @@ -268,6 +268,10 @@ int Booster::run(SocketManager * socketManager) // Execute the binary Logger::logDebug("Booster: invoking '%s' ", m_appData->fileName().c_str()); try { + if (access(m_appData->fileName().c_str(), X_OK) != 0) { + throw std::runtime_error("Booster: Binary doesn't have execute permissions\n"); + } + return launchProcess(); } catch (const std::runtime_error &e) { Logger::logError("Booster: Failed to invoke: %s\n", e.what());