Review Request 128761: Fix crash on exit

Peter Wu peter at lekensteyn.nl
Sat Aug 27 09:12:06 UTC 2016


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/128761/
-----------------------------------------------------------

(Updated Aug. 27, 2016, 11:12 a.m.)


Review request for Plasma, David Edmundson, David Faure, and Hugo Pereira Da Costa.


Changes
-------

Just remove delete hack completely


Summary (updated)
-----------------

Fix crash on exit


Bugs: 356940
    https://bugs.kde.org/show_bug.cgi?id=356940


Repository: oxygen


Description (updated)
-------

Since Qt 5.6.0, Qt5 applications started crashing on exit. All signs
point to this delete-on-destroy hack which was added to avoid outliving
the plugin lifetime.

This method is wrong because the returned style is owned by the caller
(QApplication, QProxyStyle, etc) and will cleaned up when those users
are destructed.

Copied from breeze patch https://git.reviewboard.kde.org/r/128760/


Diffs (updated)
-----

  kstyle/oxygenstyleplugin.cpp 70b90d9 

Diff: https://git.reviewboard.kde.org/r/128761/diff/


Testing (updated)
-------

Started `QT_STYLE_OVERRIDE=oxygen LD_LIBRARY_PATH=... QT_PLUGIN_PATH=... wireshark -o` (an invalid option that triggers `exit(1)`) and observe a heap-use-after free similar to the one reported in the bug. Apply this patch, rebuild oxygen and notice that the crash is fixed. Also tested with "Testcase (ASAN)" from bug 356940, crash is also gone.


Thanks,

Peter Wu

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20160827/95f62623/attachment.html>


More information about the Plasma-devel mailing list