diff options
author | Benjamin Dauvergne <bdauvergne@entrouvert.com> | 2010-04-22 00:44:45 +0000 |
---|---|---|
committer | Benjamin Dauvergne <bdauvergne@entrouvert.com> | 2010-04-22 00:44:45 +0000 |
commit | 0a169eda51add0070a68b6280293da03529ae78a (patch) | |
tree | a85f2e71aeffb17b8dc65cb5aa53a94cf682d796 | |
parent | c93fb2a356cd8af36bfaa6f5c356e8ad8824f30d (diff) | |
download | lasso-0a169eda51add0070a68b6280293da03529ae78a.tar.gz lasso-0a169eda51add0070a68b6280293da03529ae78a.tar.xz lasso-0a169eda51add0070a68b6280293da03529ae78a.zip |
Improve safety by replacing all g_free use by lasso_release
28 files changed, 87 insertions, 85 deletions
diff --git a/lasso/id-ff/defederation.c b/lasso/id-ff/defederation.c index 9877deb7..2d26bdee 100644 --- a/lasso/id-ff/defederation.c +++ b/lasso/id-ff/defederation.c @@ -409,7 +409,7 @@ lasso_defederation_validate_notification(LassoDefederation *defederation) gchar *url; gchar *query = g_strdup_printf("RelayState=%s", profile->msg_relayState); url = lasso_concat_url_query(profile->msg_url, query); - g_free(query); + lasso_release(query); lasso_assign_new_string(profile->msg_url, url); } } diff --git a/lasso/id-ff/federation.c b/lasso/id-ff/federation.c index 6e8ba3ed..7c28e2be 100644 --- a/lasso/id-ff/federation.c +++ b/lasso/id-ff/federation.c @@ -30,6 +30,7 @@ * provider and a service provider. Instance of this class are usually never accessed directly. **/ +#include "../utils.h" #include "../xml/private.h" #include "federation.h" #include "provider.h" @@ -208,7 +209,7 @@ static void finalize(GObject *object) { LassoFederation *federation = LASSO_FEDERATION(object); - g_free(federation->private_data); + lasso_release(federation->private_data); G_OBJECT_CLASS(parent_class)->finalize(object); } diff --git a/lasso/id-ff/identity.c b/lasso/id-ff/identity.c index e7e9179b..047d6ff8 100644 --- a/lasso/id-ff/identity.c +++ b/lasso/id-ff/identity.c @@ -279,7 +279,7 @@ static void finalize(GObject *object) { LassoIdentity *identity = LASSO_IDENTITY(object); - g_free(identity->private_data); + lasso_release(identity->private_data); identity->private_data = NULL; G_OBJECT_CLASS(parent_class)->finalize(object); } diff --git a/lasso/id-ff/login.c b/lasso/id-ff/login.c index c7b4e72f..23ab7f0d 100644 --- a/lasso/id-ff/login.c +++ b/lasso/id-ff/login.c @@ -84,7 +84,7 @@ * } else if (protocolProfile == LASSO_SAML_2_0) { * LassoSamlp2AuthnRequest *request = LASSO_SAMLP2_AUTHN_REQUEST(LASSO_PROFILE(login)->request); * if (request->NameIDPolicy->Format) { - * g_free(request->NameIDPolicy->Format); + * lasso_release(request->NameIDPolicy->Format); * } * request->NameIDPolicy->Format = g_strdup(LASSO_NAME_IDENTIFIER_FORMAT_PERSISTENT); * // Allow creation of new federation @@ -94,7 +94,7 @@ * request->IsPassive = FALSE; * // tell the IdP how to return the response * if (request->ProtocolBinding) { - * g_free(request->ProtocolBinding); + * lasso_release(request->ProtocolBinding); * } * // here we expect an artifact response, it could be post, redirect or PAOS. * request->ProtocolBinding = g_strdup(LASSO_SAML2_METADATA_BINDING_ARTIFACT); diff --git a/lasso/id-ff/logout.c b/lasso/id-ff/logout.c index 1b74084d..2ccffe88 100644 --- a/lasso/id-ff/logout.c +++ b/lasso/id-ff/logout.c @@ -330,13 +330,13 @@ lasso_logout_build_request_msg(LassoLogout *logout) profile->server->signature_method, profile->server->private_key); if (query == NULL) { - g_free(url); + lasso_release(url); return critical_error(LASSO_PROFILE_ERROR_BUILDING_QUERY_FAILED); } /* build the msg_url */ lasso_assign_new_string(profile->msg_url, lasso_concat_url_query(url, query)); - g_free(url); - g_free(query); + lasso_release(url); + lasso_release(query); lasso_release_string(profile->msg_body); return 0; } @@ -557,7 +557,7 @@ lasso_logout_init_request(LassoLogout *logout, char *remote_providerID, /* get the remote provider id If remote_providerID is NULL, then get the first remote provider id in session */ - g_free(profile->remote_providerID); + lasso_release(profile->remote_providerID); if (remote_providerID == NULL) { lasso_assign_new_string(profile->remote_providerID, lasso_session_get_provider_index(session, 0)); } else { @@ -1294,7 +1294,7 @@ static void finalize(GObject *object) { LassoLogout *logout = LASSO_LOGOUT(object); - g_free(logout->private_data); + lasso_release(logout->private_data); G_OBJECT_CLASS(parent_class)->finalize(object); } diff --git a/lasso/id-ff/name_registration.c b/lasso/id-ff/name_registration.c index 968edd38..bd052bfd 100644 --- a/lasso/id-ff/name_registration.c +++ b/lasso/id-ff/name_registration.c @@ -108,14 +108,14 @@ lasso_name_registration_build_request_msg(LassoNameRegistration *name_registrati profile->server->signature_method, profile->server->private_key); if (query == NULL) { - g_free(url); + lasso_release(url); return critical_error(LASSO_PROFILE_ERROR_BUILDING_QUERY_FAILED); } /* build the msg_url */ profile->msg_url = lasso_concat_url_query(url, query); profile->msg_body = NULL; - g_free(url); - g_free(query); + lasso_release(url); + lasso_release(query); return 0; } @@ -192,13 +192,13 @@ lasso_name_registration_build_response_msg(LassoNameRegistration *name_registrat profile->server->signature_method, profile->server->private_key); if (query == NULL) { - g_free(url); + lasso_release(url); return critical_error(LASSO_PROFILE_ERROR_BUILDING_QUERY_FAILED); } /* build the msg_url */ profile->msg_url = lasso_concat_url_query(url, query); - g_free(url); - g_free(query); + lasso_release(url); + lasso_release(query); profile->msg_body = NULL; return 0; diff --git a/lasso/id-ff/provider.c b/lasso/id-ff/provider.c index fc24fa3e..571c52ff 100644 --- a/lasso/id-ff/provider.c +++ b/lasso/id-ff/provider.c @@ -121,7 +121,7 @@ lasso_provider_get_assertion_consumer_service_url(LassoProvider *provider, const service_id = provider->private_data->default_assertion_consumer; name = g_strdup_printf("AssertionConsumerServiceURL %s", service_id); assertion_consumer_service_url = lasso_provider_get_metadata_one_for_role(provider, LASSO_PROVIDER_ROLE_SP, name); - g_free(name); + lasso_release(name); return assertion_consumer_service_url; } @@ -198,7 +198,7 @@ lasso_provider_get_metadata_list_for_role(const LassoProvider *provider, LassoPr g_return_val_if_fail(role_prefix, NULL); symbol = g_strdup_printf("%s %s", role_prefix, name); l = g_hash_table_lookup(descriptor, symbol); - g_free(symbol); + lasso_release(symbol); return l; } @@ -317,7 +317,7 @@ lasso_provider_get_first_http_method(LassoProvider *provider, } t1 = g_list_next(t1); } - g_free(protocol_profile_prefix); + lasso_release(protocol_profile_prefix); if (found) { if (g_str_has_suffix(t2->data, "http")) @@ -378,17 +378,17 @@ lasso_provider_accept_http_method(LassoProvider *provider, LassoProvider *remote if (lasso_provider_has_protocol_profile(provider, protocol_type, protocol_profile) == FALSE) { - g_free(protocol_profile); + lasso_release(protocol_profile); return FALSE; } if (lasso_provider_has_protocol_profile(remote_provider, protocol_type, protocol_profile) == FALSE) { - g_free(protocol_profile); + lasso_release(protocol_profile); return FALSE; } - g_free(protocol_profile); + lasso_release(protocol_profile); return TRUE; } @@ -745,7 +745,7 @@ lasso_provider_get_cache_duration(LassoProvider *provider) /*****************************************************************************/ static void -free_list_strings(G_GNUC_UNUSED gchar *key, GList *list, G_GNUC_UNUSED gpointer data) +free_list_strings(GList *list) { g_list_foreach(list, (GFunc)g_free, NULL); g_list_free(list); @@ -774,7 +774,7 @@ dispose(GObject *object) } if (provider->private_data->default_assertion_consumer) { - g_free(provider->private_data->default_assertion_consumer); + lasso_release(provider->private_data->default_assertion_consumer); provider->private_data->default_assertion_consumer = NULL; } @@ -794,7 +794,7 @@ dispose(GObject *object) } if (provider->private_data->encryption_public_key_str) { - g_free(provider->private_data->encryption_public_key_str); + lasso_release(provider->private_data->encryption_public_key_str); provider->private_data->encryption_public_key_str = NULL; } @@ -803,9 +803,9 @@ dispose(GObject *object) provider->private_data->encryption_public_key = NULL; } - g_free(provider->private_data->affiliation_id); + lasso_release(provider->private_data->affiliation_id); provider->private_data->affiliation_id = NULL; - g_free(provider->private_data->affiliation_owner_id); + lasso_release(provider->private_data->affiliation_owner_id); provider->private_data->affiliation_owner_id = NULL; G_OBJECT_CLASS(parent_class)->dispose(G_OBJECT(provider)); @@ -816,7 +816,7 @@ finalize(GObject *object) { LassoProvider *provider = LASSO_PROVIDER(object); - g_free(provider->private_data); + lasso_release(provider->private_data); provider->private_data = NULL; G_OBJECT_CLASS(parent_class)->finalize(G_OBJECT(provider)); @@ -851,7 +851,7 @@ instance_init(LassoProvider *provider) /* no value_destroy_func since it shouldn't destroy the GList on insert */ provider->private_data->Descriptors = g_hash_table_new_full( - g_str_hash, g_str_equal, g_free, NULL); + g_str_hash, g_str_equal, g_free, (GFreeFunc)free_list_strings); provider->private_data->attributes = NULL; } diff --git a/lasso/id-ff/server.c b/lasso/id-ff/server.c index 2b6b5701..84613f63 100644 --- a/lasso/id-ff/server.c +++ b/lasso/id-ff/server.c @@ -479,16 +479,16 @@ finalize(GObject *object) LassoServer *server = LASSO_SERVER(object); int i = 0; - g_free(server->private_key); + lasso_release(server->private_key); if (server->private_key_password) { /* don't use memset() because it may be optimised away by * compiler (since the string is freed just after */ while (server->private_key_password[i]) server->private_key_password[i++] = 0; - g_free(server->private_key_password); + lasso_release(server->private_key_password); } - g_free(server->certificate); - g_free(server->private_data); + lasso_release(server->certificate); + lasso_release(server->private_data); G_OBJECT_CLASS(parent_class)->finalize(G_OBJECT(server)); } diff --git a/lasso/id-ff/session.c b/lasso/id-ff/session.c index 5628eca0..0ce25aff 100644 --- a/lasso/id-ff/session.c +++ b/lasso/id-ff/session.c @@ -274,9 +274,8 @@ lasso_session_get_provider_index(LassoSession *session, gint index) GList *element; int length; - if (session == NULL) { - return NULL; - } + g_return_val_if_fail(LASSO_IS_SESSION(session), NULL); + g_return_val_if_fail(session->private_data, NULL); length = g_hash_table_size(session->assertions); @@ -661,7 +660,7 @@ finalize(GObject *object) { LassoSession *session = LASSO_SESSION(object); - g_free(session->private_data); + lasso_release(session->private_data); session->private_data = NULL; G_OBJECT_CLASS(parent_class)->finalize(object); diff --git a/lasso/id-wsf-2.0/data_service.c b/lasso/id-wsf-2.0/data_service.c index ef15ab53..44e0c1fe 100644 --- a/lasso/id-wsf-2.0/data_service.c +++ b/lasso/id-wsf-2.0/data_service.c @@ -991,7 +991,7 @@ static void finalize(GObject *object) { LassoIdWsf2DataService *service = LASSO_IDWSF2_DATA_SERVICE(object); - g_free(service->private_data); + lasso_release(service->private_data); service->private_data = NULL; G_OBJECT_CLASS(parent_class)->finalize(object); } diff --git a/lasso/id-wsf-2.0/discovery.c b/lasso/id-wsf-2.0/discovery.c index e9c9a05c..af5a8c58 100644 --- a/lasso/id-wsf-2.0/discovery.c +++ b/lasso/id-wsf-2.0/discovery.c @@ -1372,7 +1372,7 @@ static void finalize(GObject *object) { LassoIdWsf2Discovery *discovery = LASSO_IDWSF2_DISCOVERY(object); - g_free(discovery->private_data); + lasso_release(discovery->private_data); discovery->private_data = NULL; G_OBJECT_CLASS(parent_class)->finalize(object); } diff --git a/lasso/id-wsf-2.0/profile.c b/lasso/id-wsf-2.0/profile.c index 9d154904..de51b3c3 100644 --- a/lasso/id-wsf-2.0/profile.c +++ b/lasso/id-wsf-2.0/profile.c @@ -109,7 +109,7 @@ _add_fault_for_rc(LassoIdWsf2Profile *profile, int rc) if (rc) { code = g_strdup_printf("LASSO_ERROR_%i", rc); fault = lasso_soap_fault_new_full(code, lasso_strerror(rc)); - g_free(code); + lasso_release(code); lasso_release_list_of_gobjects(_get_soap_envelope_response(profile)->Header->Other); lasso_soap_envelope_add_to_body(_get_soap_envelope_response(profile), (LassoNode*)fault); } @@ -556,7 +556,7 @@ lasso_idwsf2_profile_redirect_user_for_interaction( url = g_strconcat(redirect_url, "?transactionID=", messageID->content, NULL); } redirect_request = lasso_idwsf2_sb2_redirect_request_new_full(url); - g_free(url); + lasso_release(url); lasso_check_good_rc(lasso_idwsf2_profile_init_soap_fault_response(profile, LASSO_SOAP_FAULT_CODE_SERVER, "Server Error", &(GList){ .data = redirect_request, .next = NULL, .prev = NULL } )); diff --git a/lasso/id-wsf/authentication.c b/lasso/id-wsf/authentication.c index fe54ee16..4707b04d 100644 --- a/lasso/id-wsf/authentication.c +++ b/lasso/id-wsf/authentication.c @@ -22,6 +22,7 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ +#include "../utils.h" #include "./authentication.h" #include "../xml/private.h" #include "../xml/sa_sasl_request.h" @@ -153,7 +154,7 @@ lasso_authentication_client_start(LassoAuthentication *authentication) /* mechusing is th resulting best mech to use, so copy it in SASLRequest element */ if (mechusing != NULL) { - g_free(request->mechanism); + lasso_release(request->mechanism); request->mechanism = g_strdup(mechusing); } @@ -531,13 +532,13 @@ lasso_authentication_server_start(LassoAuthentication *authentication) } } if (chosen == NULL) { - g_free(response->Status->code); + lasso_release(response->Status->code); response->Status->code = g_strdup(LASSO_SA_STATUS_CODE_ABORT); return res; } if (nbmech > 1 && request->Data != NULL) { - g_free(response->Status->code); + lasso_release(response->Status->code); response->Status->code = g_strdup(LASSO_SA_STATUS_CODE_ABORT); return res; } @@ -560,7 +561,7 @@ lasso_authentication_server_start(LassoAuthentication *authentication) /* set status code in SASLResponse message if not ok */ if (res != SASL_OK) { - g_free(response->Status->code); + lasso_release(response->Status->code); /* continue, set Data in response */ if (res == SASL_CONTINUE) { @@ -602,7 +603,7 @@ lasso_authentication_server_step(LassoAuthentication *authentication) /* If mechanism is NULL, thene client wants to abort authentication exchange */ if (g_str_equal(request->mechanism, "") == TRUE) { - g_free(response->Status->code); + lasso_release(response->Status->code); response->Status->code = g_strdup(LASSO_SA_STATUS_CODE_ABORT); return 0; @@ -621,7 +622,7 @@ lasso_authentication_server_step(LassoAuthentication *authentication) &outlen); if (res != SASL_OK) { - g_free(response->Status->code); + lasso_release(response->Status->code); if (res == SASL_CONTINUE) { /* authentication exchange must continue */ @@ -694,7 +695,7 @@ static void finalize(GObject *object) { LassoAuthentication *authentication = LASSO_AUTHENTICATION(object); - g_free(authentication->private_data); + lasso_release(authentication->private_data); authentication->private_data = NULL; G_OBJECT_CLASS(parent_class)->finalize(object); } diff --git a/lasso/id-wsf/data_service.c b/lasso/id-wsf/data_service.c index 7377a978..37d71287 100644 --- a/lasso/id-wsf/data_service.c +++ b/lasso/id-wsf/data_service.c @@ -1137,7 +1137,7 @@ dispose(GObject *object) static void finalize(GObject *object) { - g_free(((LassoDataService*)object)->private_data); + lasso_release(((LassoDataService*)object)->private_data); G_OBJECT_CLASS(parent_class)->finalize(object); } diff --git a/lasso/id-wsf/discovery.c b/lasso/id-wsf/discovery.c index 5a7d39fb..1cf02698 100644 --- a/lasso/id-wsf/discovery.c +++ b/lasso/id-wsf/discovery.c @@ -425,7 +425,7 @@ lasso_discovery_build_modify_response_msg(LassoDiscovery *discovery) if (new_entry_ids) { response->newEntryIDs = g_strdup(new_entry_ids); - g_free(new_entry_ids); + lasso_release(new_entry_ids); } if (res != 0) { @@ -1247,7 +1247,7 @@ static void finalize(GObject *object) { LassoDiscovery *discovery = LASSO_DISCOVERY(object); - g_free(discovery->private_data); + lasso_release(discovery->private_data); discovery->private_data = NULL; G_OBJECT_CLASS(parent_class)->finalize(object); } diff --git a/lasso/id-wsf/wsf_profile.c b/lasso/id-wsf/wsf_profile.c index abaa26d9..79075ff8 100644 --- a/lasso/id-wsf/wsf_profile.c +++ b/lasso/id-wsf/wsf_profile.c @@ -1064,7 +1064,7 @@ static void finalize(GObject *object) { LassoWsfProfile *profile = LASSO_WSF_PROFILE(object); - g_free(profile->private_data); + lasso_release(profile->private_data); profile->private_data = NULL; G_OBJECT_CLASS(parent_class)->finalize(object); } diff --git a/lasso/registry.c b/lasso/registry.c index 81bcf23c..f7f27575 100644 --- a/lasso/registry.c +++ b/lasso/registry.c @@ -187,7 +187,7 @@ void lasso_registry_destroy(LassoRegistry *registry) registry->direct_mapping = NULL; g_hash_table_destroy(registry->functional_mapping); registry->functional_mapping = NULL; - g_free(registry); + lasso_release(registry); } static LassoRegistryTranslationFunction lasso_registry_get_translation_function(GHashTable *functional_mappings, GQuark from_ns_quark, GQuark to_ns_quark) diff --git a/lasso/saml-2.0/assertion_query.c b/lasso/saml-2.0/assertion_query.c index ddf8ad7e..f549940d 100644 --- a/lasso/saml-2.0/assertion_query.c +++ b/lasso/saml-2.0/assertion_query.c @@ -431,7 +431,7 @@ static void finalize(GObject *object) { LassoAssertionQuery *profile = LASSO_ASSERTION_QUERY(object); - g_free(profile->private_data); + lasso_release(profile->private_data); profile->private_data = NULL; G_OBJECT_CLASS(parent_class)->finalize(object); } diff --git a/lasso/saml-2.0/ecp.c b/lasso/saml-2.0/ecp.c index b2667d24..655162ce 100644 --- a/lasso/saml-2.0/ecp.c +++ b/lasso/saml-2.0/ecp.c @@ -92,7 +92,7 @@ static void finalize(GObject *object) { LassoEcp *ecp = LASSO_ECP(object); - g_free(ecp->private_data); + lasso_release(ecp->private_data); ecp->private_data = NULL; G_OBJECT_CLASS(parent_class)->finalize(object); diff --git a/lasso/saml-2.0/provider.c b/lasso/saml-2.0/provider.c index 688bf257..bcc27b5d 100644 --- a/lasso/saml-2.0/provider.c +++ b/lasso/saml-2.0/provider.c @@ -464,7 +464,7 @@ lasso_saml20_provider_check_assertion_consumer_service_url(LassoProvider *provid candidate = NULL; } } - g_free(name); + lasso_release(name); g_list_free(r); if (candidate) @@ -541,7 +541,7 @@ helper_binding_by_url(char *key, GList *value, struct HelperBindingByUrl *data) if (end) { key = g_strndup(key, (ptrdiff_t)(end-key)); data->binding = identifier_to_binding_uri(key); - g_free(key); + lasso_release(key); } else { data->binding = identifier_to_binding_uri(key); } diff --git a/lasso/saml-2.0/server.c b/lasso/saml-2.0/server.c index 41763fc8..4c7a758f 100644 --- a/lasso/saml-2.0/server.c +++ b/lasso/saml-2.0/server.c @@ -22,6 +22,7 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ +#include "../utils.h" #include "../xml/private.h" #include "serverprivate.h" #include "../id-ff/serverprivate.h" @@ -70,7 +71,7 @@ lasso_saml20_server_load_affiliation(LassoServer *server, xmlNode *node) message(G_LOG_LEVEL_WARNING, "Provider %s in more than one affiliation", provider->ProviderID); - g_free(provider->private_data->affiliation_owner_id); + lasso_release_string(provider->private_data->affiliation_owner_id); } provider->private_data->affiliation_owner_id = g_strdup(owner_id); provider->private_data->affiliation_id = g_strdup(affiliation_id); diff --git a/lasso/xml/lib_federation_termination_notification.c b/lasso/xml/lib_federation_termination_notification.c index aed69fdd..4758921a 100644 --- a/lasso/xml/lib_federation_termination_notification.c +++ b/lasso/xml/lib_federation_termination_notification.c @@ -21,7 +21,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ - +#include "../utils.h" #include "private.h" #include "lib_federation_termination_notification.h" #include <libxml/uri.h> @@ -98,7 +98,7 @@ build_query(LassoNode *node) t = xmlURIEscapeStr((xmlChar*)request->RelayState, NULL); s = g_strdup_printf((char*)t, "%s&RelayState=%s", query, request->RelayState); xmlFree(t); - g_free(query); + lasso_release(query); query = s; } diff --git a/lasso/xml/saml-2.0/samlp2_request_abstract.c b/lasso/xml/saml-2.0/samlp2_request_abstract.c index 810ede28..9eaa187f 100644 --- a/lasso/xml/saml-2.0/samlp2_request_abstract.c +++ b/lasso/xml/saml-2.0/samlp2_request_abstract.c @@ -108,7 +108,7 @@ build_query(LassoNode *node) return NULL; } ret = g_strdup_printf(LASSO_SAML2_FIELD_REQUEST "=%s", deflated_message); - g_free(deflated_message); + lasso_release(deflated_message); return ret; } diff --git a/lasso/xml/saml-2.0/samlp2_status_response.c b/lasso/xml/saml-2.0/samlp2_status_response.c index f93931ef..9cf004f8 100644 --- a/lasso/xml/saml-2.0/samlp2_status_response.c +++ b/lasso/xml/saml-2.0/samlp2_status_response.c @@ -107,7 +107,7 @@ build_query(LassoNode *node) return NULL; } ret = g_strdup_printf(LASSO_SAML2_FIELD_RESPONSE "=%s", deflated_message); - g_free(deflated_message); + lasso_release(deflated_message); return ret; } diff --git a/lasso/xml/saml_assertion.c b/lasso/xml/saml_assertion.c index 605cefc8..2e3afcc7 100644 --- a/lasso/xml/saml_assertion.c +++ b/lasso/xml/saml_assertion.c @@ -136,8 +136,8 @@ insure_namespace(xmlNode *xmlnode, xmlNs *ns) (xmlChar*)typename); } } - g_free(gtypename); - g_free(typename); + lasso_release(gtypename); + lasso_release(typename); } insure_namespace(t, ns); diff --git a/lasso/xml/tools.c b/lasso/xml/tools.c index 62c413c7..d6aa5ef5 100644 --- a/lasso/xml/tools.c +++ b/lasso/xml/tools.c @@ -520,10 +520,10 @@ lasso_query_sign(char *query, LassoSignatureMethod sign_method, const char *priv } done: - g_free(new_query); + lasso_release(new_query); xmlFree(digest); BIO_free(bio); - g_free(sigret); + lasso_release(sigret); xmlFree(b64_sigret); xmlFree(e_b64_sigret); @@ -1074,14 +1074,14 @@ lasso_node_build_deflated_query(LassoNode *node) } } if (rc != Z_OK) { - g_free(ret); + lasso_release(ret); message(G_LOG_LEVEL_CRITICAL, "Failed to deflate"); return NULL; } b64_ret = xmlSecBase64Encode(ret, stream.total_out, 0); xmlOutputBufferClose(buf); - g_free(ret); + lasso_release(ret); ret = xmlURIEscapeStr(b64_ret, NULL); rret = g_strdup((char*)ret); @@ -1417,7 +1417,7 @@ lasso_xml_parse_message(const char *message, LassoMessageFormat constraint, xmlD if (rc >= 0) { b64 = TRUE; } else { - g_free(msg); + lasso_release(msg); msg = (char*)message; } } @@ -1451,7 +1451,7 @@ lasso_xml_parse_message(const char *message, LassoMessageFormat constraint, xmlD goto cleanup; } if (b64) { - g_free(msg); + lasso_release(msg); rc = LASSO_MESSAGE_FORMAT_BASE64; goto cleanup; } @@ -1760,7 +1760,7 @@ lasso_xml_parse_file(const char *filepath) xmlDocPtr ret; ret = lasso_xml_parse_memory(file_content, file_length); - g_free(file_content); + lasso_release(file_content); return ret; } else { message(G_LOG_LEVEL_CRITICAL, "Cannot read XML file %s: %s", filepath, error->message); diff --git a/lasso/xml/ws/wsse_username_token.c b/lasso/xml/ws/wsse_username_token.c index ad71d216..bd407174 100644 --- a/lasso/xml/ws/wsse_username_token.c +++ b/lasso/xml/ws/wsse_username_token.c @@ -243,7 +243,7 @@ _lasso_wsse_username_token_compute_digest(LassoWsseUsernameToken *wsse_username_ memcpy(buffer + nonce_len, wsse_username_token->Created, created_len); memcpy(buffer + nonce_len + created_len, password, password_len); result = g_base64_encode((guchar*)buffer, nonce_len + created_len + password_len); - g_free(buffer); + lasso_release(buffer); return result; } @@ -297,7 +297,7 @@ lasso_wsse_username_token_check_password(LassoWsseUsernameToken *wsse_username_t if (strcmp(private->Password, digest) != 0) { rc = LASSO_WSSEC_ERROR_BAD_PASSWORD; } - g_free(digest); + lasso_release(digest); break; case LASSO_WSSE_USERNAME_TOKEN_PASSWORD_TYPE_TEXT: if (strcmp(private->Password, password) != 0) { @@ -360,12 +360,12 @@ lasso_wsse_username_token_derive_key(LassoWsseUsernameToken *wsse_username_token } iteration--; } - g_free(buffer); + lasso_release(buffer); result = g_malloc(20); memcpy(result, hash1, 20); exit: - g_free(salt); + lasso_release(salt); return result; } diff --git a/lasso/xml/xml.c b/lasso/xml/xml.c index ef80bcde..0541272a 100644 --- a/lasso/xml/xml.c +++ b/lasso/xml/xml.c @@ -620,7 +620,7 @@ lasso_node_init_from_query(LassoNode *node, const char *query) xmlFree(query_fields[i]); query_fields[i] = NULL; } - g_free(query_fields); + lasso_release(query_fields); return rc; } @@ -1570,9 +1570,9 @@ base_class_finalize(LassoNodeClass *class) xmlFreeNs(data->ns); } if (data->node_name) { - g_free(data->node_name); + lasso_release(data->node_name); } - g_free(class->node_data); + lasso_release(class->node_data); class->node_data = NULL; } } @@ -1988,7 +1988,7 @@ lasso_node_init_from_message_with_format(LassoNode *node, const char *message, L if (rc >= 0) { b64 = TRUE; } else { - g_free(msg); + lasso_release(msg); msg = (char*)message; } } @@ -2024,7 +2024,7 @@ lasso_node_init_from_message_with_format(LassoNode *node, const char *message, L goto cleanup; } if (b64) { - g_free(msg); + lasso_release(msg); rc = LASSO_MESSAGE_FORMAT_BASE64; goto cleanup; } @@ -2107,7 +2107,7 @@ void lasso_node_class_set_nodename(LassoNodeClass *klass, char *name) { if (klass->node_data->node_name) - g_free(klass->node_data->node_name); + lasso_release(klass->node_data->node_name); klass->node_data->node_name = g_strdup(name); } @@ -2303,7 +2303,7 @@ lasso_node_build_xmlNode_from_snippets(LassoNode *node, xmlNode *xmlnode, g_assert_not_reached(); } if (snippet->type & SNIPPET_INTEGER) - g_free(str); + lasso_release(str); } if (snippet_any_attribute) { @@ -2361,7 +2361,7 @@ void lasso_node_add_signature_template(LassoNode *node, xmlNode *xmlnode, uri = g_strdup_printf("#%s", id); reference = xmlSecTmplSignatureAddReference(signature, xmlSecTransformSha1Id, NULL, (xmlChar*)uri, NULL); - g_free(uri); + lasso_release(uri); /* add enveloped transform */ xmlSecTmplReferenceAddTransform(reference, xmlSecTransformEnvelopedId); @@ -2591,7 +2591,7 @@ lasso_node_build_query_from_snippets(LassoNode *node) if (s->len) g_string_append(s, "&"); g_string_append(s, v); - g_free(v); + lasso_release(v); continue; } if (v) { @@ -2607,7 +2607,7 @@ lasso_node_build_query_from_snippets(LassoNode *node) xmlFree(t); } if (v) - g_free(v); + lasso_release(v); } return g_string_free(s, FALSE); |