summaryrefslogtreecommitdiff
path: root/user/kpmcore/nullptr-segfault.patch
diff options
context:
space:
mode:
Diffstat (limited to 'user/kpmcore/nullptr-segfault.patch')
-rw-r--r--user/kpmcore/nullptr-segfault.patch35
1 files changed, 35 insertions, 0 deletions
diff --git a/user/kpmcore/nullptr-segfault.patch b/user/kpmcore/nullptr-segfault.patch
new file mode 100644
index 000000000..3caeecbdf
--- /dev/null
+++ b/user/kpmcore/nullptr-segfault.patch
@@ -0,0 +1,35 @@
+From c02d59aa6d314678cef9683f96b28e2a1abd82b7 Mon Sep 17 00:00:00 2001
+From: Hartmut Goebel <h.goebel@crazy-compilers.com>
+Date: Thu, 7 Nov 2019 22:16:36 +0000
+Subject: Stop helper only if formerly started.
+
+Differential Revision: https://phabricator.kde.org/D25161
+BUG: 413851
+---
+ src/util/externalcommand.cpp | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/src/util/externalcommand.cpp b/src/util/externalcommand.cpp
+index 30b98a2..6f45127 100644
+--- a/src/util/externalcommand.cpp
++++ b/src/util/externalcommand.cpp
+@@ -433,6 +433,8 @@ bool ExternalCommand::startHelper()
+
+ void ExternalCommand::stopHelper()
+ {
++ if (!helperStarted)
++ return;
+ auto *interface = new org::kde::kpmcore::externalcommand(QStringLiteral("org.kde.kpmcore.externalcommand"),
+ QStringLiteral("/Helper"), QDBusConnection::systemBus());
+ QByteArray request;
+@@ -441,6 +443,7 @@ void ExternalCommand::stopHelper()
+ QByteArray hash = QCryptographicHash::hash(request, QCryptographicHash::Sha512);
+ interface->exit(privateKey->signMessage(hash, QCA::EMSA3_Raw), nonce);
+
++ helperStarted = false;
+ delete privateKey;
+ delete init;
+ }
+--
+cgit v1.1
+