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

List:       kde-commits
Subject:    KDE/kdewebdev/klinkstatus/src/engine
From:       Paulo Moura Guedes <moura () kdewebdev ! org>
Date:       2009-12-26 11:30:32
Message-ID: 1261827032.053620.3204.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 1066200 by mojo:

Fix CRASH: the node pointer was being deleted several times if the link has a redirection.

The crash is related to Question #93797 on Launchpad

CCMAIL: rettaikulamram@gmail.com

 M  +8 -4      linkstatus.cpp  


--- trunk/KDE/kdewebdev/klinkstatus/src/engine/linkstatus.cpp #1066199:1066200
@@ -73,9 +73,6 @@
 
 LinkStatus::~LinkStatus()
 {
-    delete node_;
-    node_ = 0;
-    
     for(int i = 0; i != children_nodes_.size(); ++i)
     {
         if(children_nodes_[i])
@@ -84,7 +81,7 @@
             children_nodes_[i] = 0;
         }
     }
-
+    
     children_nodes_.clear();
 
     if(isRedirection() && redirection_)
@@ -92,6 +89,13 @@
         delete redirection_;
         redirection_ = 0;
     }
+    else
+    {
+        // node_ is shared through redirections so only erase it one thime (in the last leaf)
+        // kDebug(23100) << "delete node: " << node_;
+        delete node_;
+        node_ = 0;
+    }
 
 //     --instances;
 //     kDebug(23100) << "LinkStatus instances: " << LinkStatus::instances << endl;
[prev in list] [next in list] [prev in thread] [next in thread] 

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