aboutsummaryrefslogtreecommitdiffstats
path: root/src/charon/config/connections/connection.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/charon/config/connections/connection.c')
-rw-r--r--src/charon/config/connections/connection.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/charon/config/connections/connection.c b/src/charon/config/connections/connection.c
index 9a90f765a..a938d8b64 100644
--- a/src/charon/config/connections/connection.c
+++ b/src/charon/config/connections/connection.c
@@ -200,20 +200,20 @@ static diffie_hellman_group_t get_dh_group(private_connection_t *this)
iterator_t *iterator;
proposal_t *proposal;
algorithm_t *algo;
+ diffie_hellman_group_t dh_group = MODP_NONE;
iterator = this->proposals->create_iterator(this->proposals, TRUE);
while (iterator->has_next(iterator))
{
iterator->current(iterator, (void**)&proposal);
- proposal->get_algorithm(proposal, DIFFIE_HELLMAN_GROUP, &algo);
- if (algo)
+ if (proposal->get_algorithm(proposal, DIFFIE_HELLMAN_GROUP, &algo))
{
- iterator->destroy(iterator);
- return algo->algorithm;
+ dh_group = algo->algorithm;
+ break;
}
}
iterator->destroy(iterator);
- return MODP_NONE;
+ return dh_group;
}
/**