You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
37 lines
1.1 KiB
37 lines
1.1 KiB
5 years ago
|
From 069bb65af0d0059391323f9ffd2edd9162d57588 Mon Sep 17 00:00:00 2001
|
||
|
From: =?UTF-8?q?Daniel=20Vr=C3=A1til?= <dvratil@kde.org>
|
||
|
Date: Mon, 24 Feb 2020 15:12:30 +0100
|
||
|
Subject: fix: handle when backend fails to load/initialize
|
||
|
|
||
|
Summary:
|
||
|
Fixes a null pointer dereference in GetConfigOperation when BackendManager
|
||
|
fails to load a valid backend.
|
||
|
|
||
|
Reviewers: #plasma
|
||
|
|
||
|
Subscribers: plasma-devel
|
||
|
|
||
|
Tags: #plasma
|
||
|
|
||
|
Differential Revision: https://phabricator.kde.org/D27625
|
||
|
---
|
||
|
src/getconfigoperation.cpp | 3 +++
|
||
|
1 file changed, 3 insertions(+)
|
||
|
|
||
|
diff --git a/src/getconfigoperation.cpp b/src/getconfigoperation.cpp
|
||
|
index 4cb9afb..f985845 100644
|
||
|
--- a/src/getconfigoperation.cpp
|
||
|
+++ b/src/getconfigoperation.cpp
|
||
|
@@ -171,6 +171,9 @@ void GetConfigOperation::start()
|
||
|
Q_D(GetConfigOperation);
|
||
|
if (BackendManager::instance()->method() == BackendManager::InProcess) {
|
||
|
auto backend = d->loadBackend();
|
||
|
+ if (!backend) {
|
||
|
+ return; // loadBackend() already set error and called emitResult() for us
|
||
|
+ }
|
||
|
d->config = backend->config()->clone();
|
||
|
d->loadEdid(backend);
|
||
|
emitResult();
|
||
|
--
|
||
|
cgit v1.1
|