summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDamien Laniel <dlaniel@entrouvert.com>2006-11-30 18:11:59 +0000
committerDamien Laniel <dlaniel@entrouvert.com>2006-11-30 18:11:59 +0000
commit27a0c91c6942740a7de151f2f479b9b713da549e (patch)
tree453583304fef04ae589a068b99e23b4bd0b2d4d2
parent818de5a5347933ce9549f45e698da2192da765d1 (diff)
Initialise and destroy correctly provider private datas
-rw-r--r--lasso/id-ff/provider.c17
-rw-r--r--lasso/id-ff/providerprivate.h2
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;
};