diff options
| author | Frederic Peters <fpeters@entrouvert.com> | 2006-12-27 16:06:35 +0000 |
|---|---|---|
| committer | Frederic Peters <fpeters@entrouvert.com> | 2006-12-27 16:06:35 +0000 |
| commit | 807403d5a656300f9e2834c033ba90754f1e31cd (patch) | |
| tree | 3afb35b6090547d3d9b579114c35abf67864ed20 | |
| parent | 9b9166d797689dc0ab90e50d0b02d757c5dd1137 (diff) | |
avoid segfaults when passing NULL to *_new_from_dump
| -rw-r--r-- | lasso/id-ff/login.c | 3 | ||||
| -rw-r--r-- | lasso/id-ff/logout.c | 3 | ||||
| -rw-r--r-- | lasso/id-ff/name_registration.c | 3 | ||||
| -rw-r--r-- | lasso/id-ff/provider.c | 3 |
4 files changed, 12 insertions, 0 deletions
diff --git a/lasso/id-ff/login.c b/lasso/id-ff/login.c index 50fd5bf5..4b27a8f6 100644 --- a/lasso/id-ff/login.c +++ b/lasso/id-ff/login.c @@ -2016,6 +2016,9 @@ lasso_login_new_from_dump(LassoServer *server, const gchar *dump) LassoLogin *login; xmlDoc *doc; + if (dump == NULL) + return NULL; + login = g_object_new(LASSO_TYPE_LOGIN, NULL); doc = xmlParseMemory(dump, strlen(dump)); init_from_xml(LASSO_NODE(login), xmlDocGetRootElement(doc)); diff --git a/lasso/id-ff/logout.c b/lasso/id-ff/logout.c index 3e43cae9..c08b1760 100644 --- a/lasso/id-ff/logout.c +++ b/lasso/id-ff/logout.c @@ -1117,6 +1117,9 @@ lasso_logout_new_from_dump(LassoServer *server, const char *dump) LassoLogout *logout; xmlDoc *doc; + if (dump == NULL) + return NULL; + logout = lasso_logout_new(g_object_ref(server)); doc = xmlParseMemory(dump, strlen(dump)); init_from_xml(LASSO_NODE(logout), xmlDocGetRootElement(doc)); diff --git a/lasso/id-ff/name_registration.c b/lasso/id-ff/name_registration.c index eeb21a01..8d7dc9b1 100644 --- a/lasso/id-ff/name_registration.c +++ b/lasso/id-ff/name_registration.c @@ -733,6 +733,9 @@ lasso_name_registration_new_from_dump(LassoServer *server, const char *dump) LassoNameRegistration *name_registration; xmlDoc *doc; + if (dump == NULL) + return NULL; + name_registration = lasso_name_registration_new(server); doc = xmlParseMemory(dump, strlen(dump)); init_from_xml(LASSO_NODE(name_registration), xmlDocGetRootElement(doc)); diff --git a/lasso/id-ff/provider.c b/lasso/id-ff/provider.c index 04b4e3a3..92f38d63 100644 --- a/lasso/id-ff/provider.c +++ b/lasso/id-ff/provider.c @@ -890,6 +890,9 @@ lasso_provider_new_from_dump(const gchar *dump) LassoProvider *provider; xmlDoc *doc; + if (dump == NULL) + return NULL; + provider = g_object_new(LASSO_TYPE_PROVIDER, NULL); doc = xmlParseMemory(dump, strlen(dump)); init_from_xml(LASSO_NODE(provider), xmlDocGetRootElement(doc)); |
