From 8f687a7591b1d52a2516fd14de0c79022a772d7d Mon Sep 17 00:00:00 2001 From: Andreas Steffen Date: Fri, 10 Aug 2007 12:10:36 +0000 Subject: [PATCH] has_rsa_private_key() must also be protected by keys_mutex --- src/charon/config/credentials/local_credential_store.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/charon/config/credentials/local_credential_store.c b/src/charon/config/credentials/local_credential_store.c index 6400cfff6..60a01778f 100644 --- a/src/charon/config/credentials/local_credential_store.c +++ b/src/charon/config/credentials/local_credential_store.c @@ -382,8 +382,10 @@ static bool has_rsa_private_key(private_local_credential_store_t *this, rsa_publ { bool found = FALSE; rsa_private_key_t *current; + iterator_t *iterator; - iterator_t *iterator = this->private_keys->create_iterator(this->private_keys, TRUE); + pthread_mutex_lock(&(this->keys_mutex)); + iterator = this->private_keys->create_iterator(this->private_keys, TRUE); while (iterator->iterate(iterator, (void**)¤t)) { @@ -394,6 +396,7 @@ static bool has_rsa_private_key(private_local_credential_store_t *this, rsa_publ } } iterator->destroy(iterator); + pthread_mutex_unlock(&(this->keys_mutex)); return found; }