Bug 184749

Summary: Device Notifier crashes Plasma if invalid predicates are present on the system
Product: [Unmaintained] plasma4 Reporter: Ben Cooksley <bcooksley>
Component: widget-devicenotifierAssignee: Plasma Bugs List <plasma-bugs-null>
Status: RESOLVED FIXED    
Severity: crash CC: andresbajotierra, aseigo, asraniel
Priority: NOR    
Version First Reported In: unspecified   
Target Milestone: ---   
Platform: Compiled Sources   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:
Bug Depends on: 184751    
Bug Blocks:    

Description Ben Cooksley 2009-02-18 04:44:09 UTC
Version:            (using Devel)
Compiler:          g++ (SUSE Linux) 4.3.2 [gcc-4_3-branch revision 141291] 
OS:                Linux
Installed from:    Compiled sources

If invalid solid predicates are present on the system, Plasma will crash on startup when the Device Notifier plasmoid is intialised. Examples of invalid predicates are the ones installed by K3b previous to commit 927669 ( which corrects them )

My KControl module also suffered from this, until I corrected it by ensuring they were valid ( Solid::Predicate::fromString(predicate).isValid() ) before attempting to use them.
Comment 1 Ben Cooksley 2009-02-18 05:18:43 UTC
Further investigation reveals that a bug in Solid::Predicate will cause a crash anyway. This is shown by a double free when isValid() is false.