summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFrederic Peters <fpeters@entrouvert.com>2005-08-14 10:38:41 +0000
committerFrederic Peters <fpeters@entrouvert.com>2005-08-14 10:38:41 +0000
commitf05a03a102e4f09ac63e7fbe1f337e963064ac53 (patch)
treecde2df5daa32e969d074292768b551b5cde3019e
parent639951fe8a072a18c74a5cdeb8fb98ce01fc8b5e (diff)
correctly reset list before rebuilding it
-rw-r--r--lasso/id-ff/session.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/lasso/id-ff/session.c b/lasso/id-ff/session.c
index 4a13a292..7f3c5060 100644
--- a/lasso/id-ff/session.c
+++ b/lasso/id-ff/session.c
@@ -181,8 +181,13 @@ lasso_session_get_provider_index(LassoSession *session, gint index)
return NULL;
if (session->private_data->providerIDs == NULL ||
- g_list_length(session->private_data->providerIDs) != length)
+ g_list_length(session->private_data->providerIDs) != length) {
+ if (session->private_data->providerIDs) {
+ g_list_free(session->private_data->providerIDs);
+ session->private_data->providerIDs = NULL;
+ }
g_hash_table_foreach(session->assertions, (GHFunc)add_providerID, session);
+ }
element = g_list_nth(session->private_data->providerIDs, index);
if (element == NULL)