Fix issues with X509 certificate list usage

pull/1/head
Timothy Pearson 9 years ago
parent c867c64aa9
commit 9d5f5058a1

@ -16,6 +16,8 @@
Boston, MA 02110-1301, USA.
*/
#define _TDECRYPTOGRAPHICCARDDEVICE_INTERNAL 1
#include "tdecryptographiccarddevice_private.h"
#include "tdecryptographiccarddevice.h"
@ -343,9 +345,11 @@ int CryptoCardDeviceWatcher::retrieveCardCertificates(TQString readerName) {
}
void CryptoCardDeviceWatcher::deleteAllCertificatesFromCache() {
X509CertificatePtrListIterator it(cardDevice->m_cardCertificates);
X509 *x509_cert;
while ((x509_cert = it.current()) != 0) {
X509CertificatePtrListIterator it;
for (it = cardDevice->m_cardCertificates.begin(); it != cardDevice->m_cardCertificates.end(); ++it) {
x509_cert = *it;
X509_free(x509_cert);
}
@ -356,7 +360,6 @@ TDECryptographicCardDevice::TDECryptographicCardDevice(TDEGenericDeviceType::TDE
m_watcherThread(NULL),
m_watcherObject(NULL),
m_cardPresent(false) {
m_cardCertificates.setAutoDelete(false);
}
TDECryptographicCardDevice::~TDECryptographicCardDevice() {

@ -22,12 +22,19 @@
#include "tdegenericdevice.h"
class x509_st;
#ifndef _TDECRYPTOGRAPHICCARDDEVICE_INTERNAL
#ifdef KSSL_HAVE_SSL
typedef struct x509_st X509;
#else
class X509;
#endif
#endif
class TQEventLoopThread;
class CryptoCardDeviceWatcher;
typedef TQPtrList<x509_st> X509CertificatePtrList;
typedef TQPtrListIterator<x509_st> X509CertificatePtrListIterator;
typedef TQValueList<X509*> X509CertificatePtrList;
typedef TQValueListIterator<X509*> X509CertificatePtrListIterator;
class TDECORE_EXPORT TDECryptographicCardDevice : public TDEGenericDevice
{

Loading…
Cancel
Save