diff options
| author | Frederic Peters <fpeters@entrouvert.com> | 2006-09-29 12:51:48 +0000 |
|---|---|---|
| committer | Frederic Peters <fpeters@entrouvert.com> | 2006-09-29 12:51:48 +0000 |
| commit | 71dae9811f814885ca0454c1aebd5eb84134f0ee (patch) | |
| tree | a49da53776d5f05bab61fe888870f25b0759fd70 | |
| parent | b08ae207c080463c7e4247fa94dd3ee3ad480ff6 (diff) | |
check session is not NULL even in functions where it shouldn't happen; since
developer may always call functions out of order.
| -rw-r--r-- | lasso/id-ff/session.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/lasso/id-ff/session.c b/lasso/id-ff/session.c index 4432a621..fcc09ddb 100644 --- a/lasso/id-ff/session.c +++ b/lasso/id-ff/session.c @@ -125,6 +125,10 @@ lasso_session_get_assertions(LassoSession *session, const char *provider_id) GList *r = NULL; LassoSamlAssertion *assertion; + if (session == NULL) { + return NULL; + } + if (provider_id == NULL) { g_hash_table_foreach(session->assertions, (GHFunc)add_assertion_to_list, &r); } else { @@ -149,6 +153,9 @@ lasso_session_get_assertions(LassoSession *session, const char *provider_id) LassoSamlpStatus* lasso_session_get_status(LassoSession *session, gchar *providerID) { + if (session == NULL) { + return NULL; + } return g_hash_table_lookup(session->private_data->status, providerID); } @@ -175,6 +182,10 @@ lasso_session_get_provider_index(LassoSession *session, gint index) GList *element; int length; + if (session == NULL) { + return NULL; + } + length = g_hash_table_size(session->assertions); if (length == 0) @@ -202,6 +213,10 @@ lasso_session_get_provider_index(LassoSession *session, gint index) void lasso_session_init_provider_ids(LassoSession *session) { + if (session == NULL) { + return; + } + if (session->private_data->providerIDs) { g_list_free(session->private_data->providerIDs); session->private_data->providerIDs = NULL; @@ -243,6 +258,10 @@ lasso_session_is_empty(LassoSession *session) gint lasso_session_remove_assertion(LassoSession *session, gchar *providerID) { + if (session == NULL) { + return LASSO_ERROR_UNDEFINED; + } + if (g_hash_table_remove(session->assertions, providerID)) { session->is_dirty = TRUE; return 0; @@ -263,6 +282,10 @@ lasso_session_remove_assertion(LassoSession *session, gchar *providerID) gint lasso_session_remove_status(LassoSession *session, gchar *providerID) { + if (session == NULL) { + return LASSO_ERROR_UNDEFINED; + } + if (g_hash_table_remove(session->private_data->status, providerID)) { session->is_dirty = TRUE; return 0; |
