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

List:       kde-commits
Subject:    branches/KDE/3.5/kdepim/certmanager/lib/ui
From:       Allen Winter <winter () kde ! org>
Date:       2006-05-07 15:43:10
Message-ID: 1147016590.194399.25541.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 538346 by winterz:

patch provided by Stefan Gehn 
"just stumbled across this small race-condition. If you're fast enough you can 
select an invalid key for signing/encrypting. Fast enough here means 
selecting a key and clicking OK before slotCheckSelection() is called (it's 
async).

The problem is in Kleo::KeySelectionDialog::slotOk() where the key-selection 
gets checked one last time. If that check disables the OK button, accept() is 
called nevertheless and one ends up with an key that is not usable for 
signing/encryption."



 M  +3 -0      keyselectiondialog.cpp  


--- branches/KDE/3.5/kdepim/certmanager/lib/ui/keyselectiondialog.cpp #538345:538346
@@ -687,6 +687,9 @@
 void Kleo::KeySelectionDialog::slotOk() {
   if ( mCheckSelectionTimer->isActive() )
     slotCheckSelection();
+  // button could be disabled again after checking the selected key
+  if ( !actionButton( Ok )->isEnabled() )
+    return;
   mStartSearchTimer->stop();
   accept();
 }
[prev in list] [next in list] [prev in thread] [next in thread] 

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