diff options
| author | Frederic Peters <fpeters@entrouvert.com> | 2004-12-15 13:26:31 +0000 |
|---|---|---|
| committer | Frederic Peters <fpeters@entrouvert.com> | 2004-12-15 13:26:31 +0000 |
| commit | 2d6ee469fdf1a7ae03e3826ffcabcedec020ec71 (patch) | |
| tree | f65b8e62393dcd25aff24960231638cebe6cb2d5 | |
| parent | 6ed1fbe7bedb8ea5639f34fe473447fcf5a6c654 (diff) | |
| download | lasso-2d6ee469fdf1a7ae03e3826ffcabcedec020ec71.tar.gz lasso-2d6ee469fdf1a7ae03e3826ffcabcedec020ec71.tar.xz lasso-2d6ee469fdf1a7ae03e3826ffcabcedec020ec71.zip | |
fixed a few "variable might be used uninitialized in this function" detected
with gcc-3.4 -O3.
| -rw-r--r-- | lasso/id-ff/login.c | 13 | ||||
| -rw-r--r-- | lasso/id-ff/logout.c | 17 | ||||
| -rw-r--r-- | lasso/id-ff/name_registration.c | 3 | ||||
| -rw-r--r-- | lasso/id-ff/provider.c | 4 | ||||
| -rw-r--r-- | lasso/xml/tools.c | 2 | ||||
| -rw-r--r-- | lasso/xml/xml.c | 5 |
6 files changed, 25 insertions, 19 deletions
diff --git a/lasso/id-ff/login.c b/lasso/id-ff/login.c index 27f73719..b73b6543 100644 --- a/lasso/id-ff/login.c +++ b/lasso/id-ff/login.c @@ -380,7 +380,7 @@ lasso_login_accept_sso(LassoLogin *login) { LassoProfile *profile; LassoSamlAssertion *assertion; - LassoSamlNameIdentifier *ni, *idp_ni; + LassoSamlNameIdentifier *ni, *idp_ni = NULL; LassoFederation *federation; LassoSamlSubjectStatementAbstract *authentication_statement; @@ -814,7 +814,7 @@ lasso_login_init_request(LassoLogin *login, gchar *response_msg, char **query_fields; gint ret = 0; int i; - char *artifact_b64, *provider_succint_id_b64; + char *artifact_b64 = NULL, *provider_succint_id_b64; char provider_succint_id[21]; char artifact[43]; LassoSamlpRequestAbstract *request; @@ -835,23 +835,23 @@ lasso_login_init_request(LassoLogin *login, gchar *response_msg, free(query_fields[i]); continue; } - artifact_b64 = strdup(query_fields[i]+8); + artifact_b64 = g_strdup(query_fields[i]+8); free(query_fields[i]); } free(query_fields); } if (response_http_method == LASSO_HTTP_METHOD_POST) { - artifact_b64 = strdup(response_msg); + artifact_b64 = g_strdup(response_msg); } i = xmlSecBase64Decode(artifact_b64, artifact, 43); if (i < 0 || i > 42) { - free(artifact_b64); + g_free(artifact_b64); return -1; } if (artifact[0] != 0 || artifact[1] != 3) { /* wrong type code */ - free(artifact_b64); + g_free(artifact_b64); return -1; } @@ -989,6 +989,7 @@ lasso_login_process_authn_request_msg(LassoLogin *login, const char *authn_reque g_return_val_if_fail(LASSO_IS_LOGIN(login), LASSO_PARAM_ERROR_BAD_TYPE_OR_NULL_OBJ); if (authn_request_msg == NULL) { + format = 0; if (LASSO_PROFILE(login)->request == NULL) { return critical_error(LASSO_PROFILE_ERROR_MISSING_REQUEST); } diff --git a/lasso/id-ff/logout.c b/lasso/id-ff/logout.c index 58297a34..2a2cbd0b 100644 --- a/lasso/id-ff/logout.c +++ b/lasso/id-ff/logout.c @@ -480,14 +480,17 @@ lasso_logout_process_response_msg(LassoLogout *logout, gchar *response_msg) profile->response = lasso_lib_logout_response_new(); format = lasso_node_init_from_message(profile->response, response_msg); - if (format == LASSO_MESSAGE_FORMAT_UNKNOWN || format == LASSO_MESSAGE_FORMAT_ERROR) { - return critical_error(LASSO_PROFILE_ERROR_INVALID_MSG); - } - if (format == LASSO_MESSAGE_FORMAT_SOAP) - response_method = LASSO_HTTP_METHOD_SOAP; - if (format == LASSO_MESSAGE_FORMAT_QUERY) - response_method = LASSO_HTTP_METHOD_REDIRECT; + switch (format) { + case LASSO_MESSAGE_FORMAT_SOAP: + response_method = LASSO_HTTP_METHOD_SOAP; + break; + case LASSO_MESSAGE_FORMAT_QUERY: + response_method = LASSO_HTTP_METHOD_REDIRECT; + break; + default: + return critical_error(LASSO_PROFILE_ERROR_INVALID_MSG); + } /* get provider */ profile->remote_providerID = g_strdup( diff --git a/lasso/id-ff/name_registration.c b/lasso/id-ff/name_registration.c index 23a69bc8..eeb5ebcf 100644 --- a/lasso/id-ff/name_registration.c +++ b/lasso/id-ff/name_registration.c @@ -217,8 +217,7 @@ lasso_name_registration_init_request(LassoNameRegistration *name_registration, profile->nameIdentifier = g_strdup(spNameIdentifier->content); name_registration->oldNameIdentifier = g_strdup(oldNameIdentifier->content); - } - if (remote_provider->role == LASSO_PROVIDER_ROLE_SP) { + } else { /* if (remote_provider->role == LASSO_PROVIDER_ROLE_SP) { */ if (federation->local_nameIdentifier == NULL) { message(G_LOG_LEVEL_CRITICAL, "Local name identifier not found"); return -1; diff --git a/lasso/id-ff/provider.c b/lasso/id-ff/provider.c index 8daf4654..68387fd1 100644 --- a/lasso/id-ff/provider.c +++ b/lasso/id-ff/provider.c @@ -98,7 +98,7 @@ lassoHttpMethod lasso_provider_get_first_http_method(LassoProvider *provider, char *protocol_profile_prefix; GList *local_supported_profiles; GList *remote_supported_profiles; - GList *t1, *t2; + GList *t1, *t2 = NULL; gboolean found; if (remote_provider->role == LASSO_PROVIDER_ROLE_SP) @@ -134,7 +134,7 @@ lassoHttpMethod lasso_provider_get_first_http_method(LassoProvider *provider, if (found) { if (g_str_has_suffix(t2->data, "http")) return LASSO_HTTP_METHOD_REDIRECT; - if (g_str_has_suffix(t2->data, "soap")) + if (t2 && g_str_has_suffix(t2->data, "soap")) return LASSO_HTTP_METHOD_SOAP; g_assert_not_reached(); } diff --git a/lasso/xml/tools.c b/lasso/xml/tools.c index a52e387d..de2b609e 100644 --- a/lasso/xml/tools.c +++ b/lasso/xml/tools.c @@ -423,7 +423,7 @@ lasso_query_verify_signature(const char *query, const char *sender_public_key_fi lassoSignatureMethod sign_method; xmlChar *digest = NULL, *b64_signature = NULL; xmlChar *e_rsa_alg = NULL, *e_dsa_alg = NULL; - xmlSecByte *signature; + xmlSecByte *signature = NULL; int key_size, status = 0, ret = 0; g_return_val_if_fail(query != NULL, LASSO_PARAM_ERROR_INVALID_VALUE); diff --git a/lasso/xml/xml.c b/lasso/xml/xml.c index a04c3ffa..93decebf 100644 --- a/lasso/xml/xml.c +++ b/lasso/xml/xml.c @@ -778,7 +778,7 @@ lasso_node_new_from_soap(const char *soap) LassoNode* lasso_node_new_from_xmlNode(xmlNode *xmlnode) { - char *prefix; + char *prefix = NULL; char *typename; GType gtype; LassoNode *node; @@ -822,6 +822,9 @@ lasso_node_new_from_xmlNode(xmlNode *xmlnode) xmlFree(xsitype); } + if (prefix == NULL) + return NULL; + typename = g_strdup_printf("Lasso%s%s", prefix, xmlnode->name); gtype = g_type_from_name(typename); |
