From 7d57497ad63bc2117cd53ae3507412fdcd3db361 Mon Sep 17 00:00:00 2001 From: Vlad Zahorodnii Date: Thu, 19 Dec 2024 16:42:24 +0200 Subject: [PATCH] plugins/krunner-integration: Fix crash If the provided id doesn't have the expected format, the parts list will have one or none items and parts[1] is going to crash. SENTRY: KWIN-7K1 --- .../krunner-integration/windowsrunnerinterface.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/plugins/krunner-integration/windowsrunnerinterface.cpp b/src/plugins/krunner-integration/windowsrunnerinterface.cpp index a03dbb1adb..2e9887550b 100644 --- a/src/plugins/krunner-integration/windowsrunnerinterface.cpp +++ b/src/plugins/krunner-integration/windowsrunnerinterface.cpp @@ -197,8 +197,12 @@ void WindowsRunner::Run(const QString &id, const QString &actionId) { // Split id to get actionId and realId. We don't use actionId because our actions list is not constant const QStringList parts = id.split(QLatin1Char('_')); - auto action = WindowsRunnerAction(parts[0].toInt()); - auto objectId = parts[1]; + if (parts.size() != 2) { + return; + } + + const auto action = WindowsRunnerAction(parts[0].toInt()); + const auto objectId = parts[1]; if (action == ActivateDesktopAction) { QByteArray desktopId = objectId.toLocal8Bit();