summaryrefslogtreecommitdiffstats
path: root/lasso/id-ff
diff options
context:
space:
mode:
authorFrederic Peters <fpeters@entrouvert.com>2007-01-05 11:40:10 +0000
committerFrederic Peters <fpeters@entrouvert.com>2007-01-05 11:40:10 +0000
commit41d6f7df6847f647744934dbdf72fa6cb4e37343 (patch)
tree4708c435d147e40e338ce4cf49c9a95a676d192a /lasso/id-ff
parent38e9d703915cb7bdef983afbd35c4ab1898a7a6f (diff)
memory management, avoid leaking xmlDoc*
Diffstat (limited to 'lasso/id-ff')
-rw-r--r--lasso/id-ff/login.c1
-rw-r--r--lasso/id-ff/logout.c1
-rw-r--r--lasso/id-ff/name_registration.c1
-rw-r--r--lasso/id-ff/provider.c1
-rw-r--r--lasso/id-ff/server.c1
5 files changed, 5 insertions, 0 deletions
diff --git a/lasso/id-ff/login.c b/lasso/id-ff/login.c
index ac33b14f..5169ae04 100644
--- a/lasso/id-ff/login.c
+++ b/lasso/id-ff/login.c
@@ -2029,6 +2029,7 @@ lasso_login_new_from_dump(LassoServer *server, const gchar *dump)
doc = xmlParseMemory(dump, strlen(dump));
init_from_xml(LASSO_NODE(login), xmlDocGetRootElement(doc));
LASSO_PROFILE(login)->server = g_object_ref(server);
+ xmlFreeDoc(doc);
return login;
}
diff --git a/lasso/id-ff/logout.c b/lasso/id-ff/logout.c
index 006bb3a4..0de3942e 100644
--- a/lasso/id-ff/logout.c
+++ b/lasso/id-ff/logout.c
@@ -1132,6 +1132,7 @@ lasso_logout_new_from_dump(LassoServer *server, const char *dump)
logout = lasso_logout_new(g_object_ref(server));
doc = xmlParseMemory(dump, strlen(dump));
init_from_xml(LASSO_NODE(logout), xmlDocGetRootElement(doc));
+ xmlFreeDoc(doc);
return logout;
}
diff --git a/lasso/id-ff/name_registration.c b/lasso/id-ff/name_registration.c
index 7510cb46..75acbb6b 100644
--- a/lasso/id-ff/name_registration.c
+++ b/lasso/id-ff/name_registration.c
@@ -751,6 +751,7 @@ lasso_name_registration_new_from_dump(LassoServer *server, const char *dump)
name_registration = lasso_name_registration_new(server);
doc = xmlParseMemory(dump, strlen(dump));
init_from_xml(LASSO_NODE(name_registration), xmlDocGetRootElement(doc));
+ xmlFreeDoc(doc);
return name_registration;
}
diff --git a/lasso/id-ff/provider.c b/lasso/id-ff/provider.c
index e012917f..b3ad0e17 100644
--- a/lasso/id-ff/provider.c
+++ b/lasso/id-ff/provider.c
@@ -897,6 +897,7 @@ lasso_provider_new_from_dump(const gchar *dump)
provider = g_object_new(LASSO_TYPE_PROVIDER, NULL);
doc = xmlParseMemory(dump, strlen(dump));
init_from_xml(LASSO_NODE(provider), xmlDocGetRootElement(doc));
+ xmlFreeDoc(doc);
lasso_provider_load_public_key(provider, LASSO_PUBLIC_KEY_SIGNING);
lasso_provider_load_public_key(provider, LASSO_PUBLIC_KEY_ENCRYPTION);
diff --git a/lasso/id-ff/server.c b/lasso/id-ff/server.c
index fc0d2735..6895756e 100644
--- a/lasso/id-ff/server.c
+++ b/lasso/id-ff/server.c
@@ -176,6 +176,7 @@ lasso_server_load_affiliation(LassoServer *server, const gchar *filename)
node = xmlDocGetRootElement(doc);
if (node == NULL || node->ns == NULL) {
+ xmlFreeDoc(doc);
return LASSO_XML_ERROR_NODE_NOT_FOUND;
}