[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    [oxygen] kstyle: Avoid invalid read in ShadowHelper destructor
From:       Aurélien Gâteau <agateau () kde ! org>
Date:       2014-06-19 14:30:31
Message-ID: E1WxdMF-0007dB-65 () scm ! kde ! org
[Download RAW message or body]

Git commit befeecf182d610797402c2bae5e7ddfe1438f6ba by Aur=C3=A9lien G=C3=
=A2teau.
Committed on 11/06/2014 at 11:10.
Pushed by gateau into branch 'master'.

Avoid invalid read in ShadowHelper destructor

Delete ShadowHelper manually to ensure the StyleHelper instance it depends
on has not been already deleted by the time ~ShadowHelper is called.

REVIEW: 118665

M  +7    -1    kstyle/oxygenstyle.cpp

http://commits.kde.org/oxygen/befeecf182d610797402c2bae5e7ddfe1438f6ba

diff --git a/kstyle/oxygenstyle.cpp b/kstyle/oxygenstyle.cpp
index 972e4c8..3d876b2 100644
--- a/kstyle/oxygenstyle.cpp
+++ b/kstyle/oxygenstyle.cpp
@@ -231,7 +231,13 @@ namespace Oxygen
 =

     //______________________________________________________________
     Style::~Style( void )
-    { delete _helper; }
+    {
+        // _shadowHelper is a child of us, but its destructor uses _helper=
 so we
+        // delete it manually to ensure it is deleted *before* _helper is
+        // deleted
+        delete _shadowHelper;
+        delete _helper;
+    }
 =

     //______________________________________________________________
     void Style::polish( QWidget* widget )
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic