<div>sebas created this revision.<br />
sebas added a reviewer: Plasma.<br />
Restricted Application added a project: Plasma.<br />
Restricted Application added a subscriber: plasma-devel.</div><br /><div><strong>REVISION SUMMARY</strong><div><p>This fixes a crashing race condition in the kscreen kded module when<br />
the config cannot be deserialized from the filesystem. In this case,<br />
Serializer returns a nullptr which is then derefenced without<br />
validation.</p>
<p>In practice, we just can't be sure the file can be read, so we need to<br />
make sure that we're not passing configs around which may be empty.</p>
<p>Down the road, I think we should be a bit more careful also in<br />
libkscreen, there's some API that can receive ConfigPtrs, which aren't<br />
validated before dereferencing.</p>
<p>BUG:362586<br />
FIXED-IN:5.6.4<br />
CHANGELOG:Fix crasher in kscreen kded daemon</p></div></div><br /><div><strong>TEST PLAN</strong><div><p>Can't really test this scenario, since I can't reproduce the crash. All <br />
testing I've done passes, and I've added a bunch of autotests for invalid <br />
configs (separate commit)</p></div></div><br /><div><strong>REPOSITORY</strong><div><div>rKSCREEN KScreen</div></div></div><br /><div><strong>BRANCH</strong><div><div>sebas/362586</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D1533" rel="noreferrer">https://phabricator.kde.org/D1533</a></div></div><br /><div><strong>AFFECTED FILES</strong><div><div>kded/daemon.cpp</div></div></div><br /><div><strong>EMAIL PREFERENCES</strong><div><a href="https://phabricator.kde.org/settings/panel/emailpreferences/" rel="noreferrer">https://phabricator.kde.org/settings/panel/emailpreferences/</a></div></div><br /><div><strong>To: </strong>sebas, Plasma<br /><strong>Cc: </strong>plasma-devel, sebas<br /></div>