diff options
| author | Damien Laniel <dlaniel@entrouvert.com> | 2006-11-30 18:11:59 +0000 |
|---|---|---|
| committer | Damien Laniel <dlaniel@entrouvert.com> | 2006-11-30 18:11:59 +0000 |
| commit | 27a0c91c6942740a7de151f2f479b9b713da549e (patch) | |
| tree | 453583304fef04ae589a068b99e23b4bd0b2d4d2 | |
| parent | 818de5a5347933ce9549f45e698da2192da765d1 (diff) | |
Initialise and destroy correctly provider private datas
| -rw-r--r-- | lasso/id-ff/provider.c | 17 | ||||
| -rw-r--r-- | lasso/id-ff/providerprivate.h | 2 |
2 files changed, 15 insertions, 4 deletions
diff --git a/lasso/id-ff/provider.c b/lasso/id-ff/provider.c index 8cba2e93..f682c66c 100644 --- a/lasso/id-ff/provider.c +++ b/lasso/id-ff/provider.c @@ -498,11 +498,22 @@ dispose(GObject *object) provider->private_data->signing_key_descriptor = NULL; } + provider->private_data->encryption_public_key = NULL; if (provider->private_data->encryption_key_descriptor) { xmlFreeNode(provider->private_data->encryption_key_descriptor); provider->private_data->encryption_key_descriptor = NULL; } + if (provider->private_data->encryption_public_key_str) { + g_free(provider->private_data->encryption_public_key_str); + provider->private_data->encryption_public_key_str = NULL; + } + + if (provider->private_data->encryption_public_key) { + xmlSecKeyDestroy(provider->private_data->encryption_public_key); + provider->private_data->encryption_public_key_str = NULL; + } + G_OBJECT_CLASS(parent_class)->dispose(G_OBJECT(provider)); } @@ -540,9 +551,11 @@ instance_init(LassoProvider *provider) provider->private_data->affiliation_owner_id = NULL; provider->private_data->organization = NULL; provider->private_data->public_key = NULL; - provider->private_data->encryption_public_key = NULL; provider->private_data->signing_key_descriptor = NULL; provider->private_data->encryption_key_descriptor = NULL; + provider->private_data->encryption_public_key_str = NULL; + provider->private_data->encryption_public_key = NULL; + provider->private_data->encryption_mode = LASSO_ENCRYPTION_MODE_NONE; /* no value_destroy_func since it shouldn't destroy the GList on insert */ provider->private_data->IDPDescriptor = g_hash_table_new_full( @@ -733,8 +746,6 @@ lasso_provider_new(LassoProviderRole role, const char *metadata, return NULL; } - provider->private_data->encryption_public_key_str = NULL; - lasso_provider_load_public_key(provider, LASSO_PUBLIC_KEY_ENCRYPTION); provider->private_data->encryption_mode = LASSO_ENCRYPTION_MODE_NONE; diff --git a/lasso/id-ff/providerprivate.h b/lasso/id-ff/providerprivate.h index 4a572c05..1f0ca8a5 100644 --- a/lasso/id-ff/providerprivate.h +++ b/lasso/id-ff/providerprivate.h @@ -56,9 +56,9 @@ struct _LassoProviderPrivate xmlSecKey *public_key; xmlNode *signing_key_descriptor; + xmlNode *encryption_key_descriptor; char *encryption_public_key_str; xmlSecKey *encryption_public_key; - xmlNode *encryption_key_descriptor; LassoEncryptionMode encryption_mode; }; |
