summaryrefslogblamecommitdiff
path: root/user/kpmcore/nullptr-segfault.patch
blob: 3caeecbdf92c6d7218255cd5660cdba4bde16cb8 (plain) (tree)


































                                                                                                                
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