summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBenjamin Dauvergne <bdauvergne@entrouvert.com>2009-03-27 15:06:45 +0000
committerBenjamin Dauvergne <bdauvergne@entrouvert.com>2009-03-27 15:06:45 +0000
commita46e6d8085fe68706c281392c641c6ede1a79d2c (patch)
treec1edc388bec7c2cd9a4a0c138f8321897c4b3065
parent280f5d0c72534fb8a9f3c7c6a6035b19ce6c1ea2 (diff)
downloadlasso-a46e6d8085fe68706c281392c641c6ede1a79d2c.tar.gz
lasso-a46e6d8085fe68706c281392c641c6ede1a79d2c.tar.xz
lasso-a46e6d8085fe68706c281392c641c6ede1a79d2c.zip
ID-FF 1.2: if logout request parsing fails, take a shortcut
* lasso/xml/lib_logout_request.c: immediately return from init_from_query if overloaded parent method fails.
-rw-r--r--lasso/xml/lib_logout_request.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/lasso/xml/lib_logout_request.c b/lasso/xml/lib_logout_request.c
index 1962dbf9..f5f6442a 100644
--- a/lasso/xml/lib_logout_request.c
+++ b/lasso/xml/lib_logout_request.c
@@ -99,6 +99,8 @@ init_from_query(LassoNode *node, char **query_fields)
request->NameIdentifier = lasso_saml_name_identifier_new();
rc = parent_class->init_from_query(node, query_fields);
+ if (! rc)
+ goto exit;
if (request->ProviderID == NULL ||
request->NameIdentifier == NULL ||
@@ -110,8 +112,8 @@ init_from_query(LassoNode *node, char **query_fields)
if (request->NameIdentifier->Format == NULL) {
lasso_assign_string(request->NameIdentifier->Format,
"LASSO_SAML2_NAME_IDENTIFIER_FORMAT_UNSPECIFIED");
-
}
+ exit:
return rc;
}