From b39de8919e54b705e2add4f94230f70e9c51be2f Mon Sep 17 00:00:00 2001 From: Friedemann Kleint <Friedemann.Kleint@digia.com> Date: Mon, 27 Jan 2014 15:30:52 +0100 Subject: [PATCH] Check if debuggers read from settings files are executable. Change-Id: I412d3fdf228bcf8948d8247363bf3b034cbb788c Reviewed-by: Mehdi Fekari <mfekari@blackberry.com> Reviewed-by: hjk <hjk121@nokiamail.com> --- src/plugins/debugger/debuggeritemmanager.cpp | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/src/plugins/debugger/debuggeritemmanager.cpp b/src/plugins/debugger/debuggeritemmanager.cpp index 59c3adb0461..ae30219d9f2 100644 --- a/src/plugins/debugger/debuggeritemmanager.cpp +++ b/src/plugins/debugger/debuggeritemmanager.cpp @@ -92,11 +92,19 @@ static void readDebuggers(const FileName &fileName, bool isSystem) // SDK debuggers are always considered to be up-to-date, so no need to recheck them. } else { // User settings. - if (item.isAutoDetected() && (!item.isValid() || item.engineType() == NoEngineType)) { - qWarning() << QString::fromLatin1("DebuggerItem \"%1\" (%2) dropped since it is not valid") - .arg(item.command().toString()).arg(item.id().toString()); - continue; + if (item.isAutoDetected()) { + if (!item.isValid() || item.engineType() == NoEngineType) { + qWarning() << QString::fromLatin1("DebuggerItem \"%1\" (%2) read from \"%3\" dropped since it is not valid.") + .arg(item.command().toUserOutput(), item.id().toString(), fileName.toUserOutput()); + continue; + } + if (!item.command().toFileInfo().isExecutable()) { + qWarning() << QString::fromLatin1("DebuggerItem \"%1\" (%2) read from \"%3\" dropped since the command is not executable.") + .arg(item.command().toUserOutput(), item.id().toString(), fileName.toUserOutput()); + continue; + } } + } DebuggerItemManager::registerDebugger(item); } -- GitLab