summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNicolas Clapies <nclapies@entrouvert.com>2004-08-31 10:43:03 +0000
committerNicolas Clapies <nclapies@entrouvert.com>2004-08-31 10:43:03 +0000
commitaefba020f6b316e8c463df7aa9f64c59ae3b88ea (patch)
treec932d0f80034510f2446f37c682817c3e8206ef3
parent688628679a5b1c757f8f25a74d6b8d00e2652e8d (diff)
Added in parse of query a test if the data list is not NULL
-rw-r--r--lasso/Attic/protocols/authn_request.c4
-rw-r--r--lasso/Attic/protocols/federation_termination_notification.c4
-rw-r--r--lasso/Attic/protocols/logout_request.c8
-rw-r--r--lasso/Attic/protocols/logout_response.c4
4 files changed, 18 insertions, 2 deletions
diff --git a/lasso/Attic/protocols/authn_request.c b/lasso/Attic/protocols/authn_request.c
index f23ad2a6..f1a9c52a 100644
--- a/lasso/Attic/protocols/authn_request.c
+++ b/lasso/Attic/protocols/authn_request.c
@@ -213,6 +213,10 @@ lasso_authn_request_new_from_export(gchar *buffer,
break;
case lassoNodeExportTypeQuery:
gd = lasso_query_to_dict(buffer);
+ if (gd == NULL) {
+ g_object_unref(request);
+ return(NULL);
+ }
/* RequestID */
str = lasso_g_ptr_array_index((GPtrArray *)g_datalist_get_data(&gd, "RequestID"), 0);
diff --git a/lasso/Attic/protocols/federation_termination_notification.c b/lasso/Attic/protocols/federation_termination_notification.c
index e99ef86d..86ddbbf8 100644
--- a/lasso/Attic/protocols/federation_termination_notification.c
+++ b/lasso/Attic/protocols/federation_termination_notification.c
@@ -131,6 +131,10 @@ lasso_federation_termination_notification_new_from_query(const gchar *query)
notification = LASSO_NODE(g_object_new(LASSO_TYPE_FEDERATION_TERMINATION_NOTIFICATION, NULL));
gd = lasso_query_to_dict(query);
+ if (gd == NULL) {
+ g_object_unref(notification);
+ return(NULL);
+ }
/* RequestID */
str = lasso_g_ptr_array_index((GPtrArray *)g_datalist_get_data(&gd, "RequestID"), 0);
diff --git a/lasso/Attic/protocols/logout_request.c b/lasso/Attic/protocols/logout_request.c
index 4b96c16d..8b7a8ffe 100644
--- a/lasso/Attic/protocols/logout_request.c
+++ b/lasso/Attic/protocols/logout_request.c
@@ -148,12 +148,16 @@ static LassoNode *
lasso_logout_request_new_from_query(gchar *query)
{
LassoNode *request, *identifier;
- xmlChar *str;
- GData *gd;
+ xmlChar *str;
+ GData *gd;
request = LASSO_NODE(g_object_new(LASSO_TYPE_LOGOUT_REQUEST, NULL));
gd = lasso_query_to_dict(query);
+ if (gd == NULL) {
+ g_object_unref(request);
+ return(NULL);
+ }
/* RequestID */
str = lasso_g_ptr_array_index((GPtrArray *)g_datalist_get_data(&gd, "RequestID"), 0);
diff --git a/lasso/Attic/protocols/logout_response.c b/lasso/Attic/protocols/logout_response.c
index d9ce6c3d..6af34aee 100644
--- a/lasso/Attic/protocols/logout_response.c
+++ b/lasso/Attic/protocols/logout_response.c
@@ -187,6 +187,10 @@ lasso_logout_response_new_from_query(gchar *query)
response = LASSO_NODE(g_object_new(LASSO_TYPE_LOGOUT_RESPONSE, NULL));
gd = lasso_query_to_dict(query);
+ if (gd == NULL) {
+ g_object_unref(response);
+ return(NULL);
+ }
/* ResponseID */
str = lasso_g_ptr_array_index((GPtrArray *)g_datalist_get_data(&gd, "ResponseID"), 0);