diff --git a/src/util/externalcommand.cpp b/src/util/externalcommand.cpp --- a/src/util/externalcommand.cpp +++ b/src/util/externalcommand.cpp @@ -433,14 +433,17 @@ void ExternalCommand::stopHelper() { + if (!helperStarted) + return; auto *interface = new org::kde::kpmcore::externalcommand(QStringLiteral("org.kde.kpmcore.externalcommand"), QStringLiteral("/Helper"), QDBusConnection::systemBus()); QByteArray request; const quint64 nonce = interface->getNonce(); request.setNum(nonce); QByteArray hash = QCryptographicHash::hash(request, QCryptographicHash::Sha512); interface->exit(privateKey->signMessage(hash, QCA::EMSA3_Raw), nonce); + helperStarted = false; delete privateKey; delete init; }