From 42788678e83ec1d82f048f86aff04017b58f072e Mon Sep 17 00:00:00 2001 From: Anders Carlsson Date: Sun, 26 Jan 2003 01:30:11 +0000 Subject: [PATCH] 2003-01-26 Anders Carlsson * dbus/dbus-auth.c: (process_auth), (_dbus_auth_unref): * dbus/dbus-connection.c: (_dbus_connection_new_for_transport), (dbus_connection_unref): * dbus/dbus-marshal.c: (_dbus_marshal_test): * dbus/dbus-message.c: (dbus_message_unref), Plug memory leaks. (dbus_message_get_fields): Remove debugging printout. (_dbus_message_loader_return_buffer): Don't store the header string. (_dbus_message_test): Plug leaks. --- ChangeLog | 18 ++++++++++++++++++ dbus/dbus-auth.c | 9 +++++++-- dbus/dbus-connection.c | 6 ++++++ dbus/dbus-marshal.c | 2 +- dbus/dbus-message.c | 19 ++++++++----------- 5 files changed, 40 insertions(+), 14 deletions(-) diff --git a/ChangeLog b/ChangeLog index 53d35fb..a8ee2b8 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,21 @@ +2003-01-26 Anders Carlsson + + * dbus/dbus-auth.c: (process_auth), (_dbus_auth_unref): + * dbus/dbus-connection.c: (_dbus_connection_new_for_transport), + (dbus_connection_unref): + * dbus/dbus-marshal.c: (_dbus_marshal_test): + * dbus/dbus-message.c: (dbus_message_unref), + Plug memory leaks. + + (dbus_message_get_fields): + Remove debugging printout. + + (_dbus_message_loader_return_buffer): + Don't store the header string. + + (_dbus_message_test): + Plug leaks. + 2003-01-26 Richard Hult * glib/dbus-gmain.c (dbus_connection_dispatch): Traverse a copy of diff --git a/dbus/dbus-auth.c b/dbus/dbus-auth.c index 032e49a..dc73652 100644 --- a/dbus/dbus-auth.c +++ b/dbus/dbus-auth.c @@ -714,7 +714,11 @@ process_auth (DBusAuth *auth, if (!send_mechanisms (auth)) return FALSE; } - + + _dbus_string_free (&mech); + _dbus_string_free (&base64_response); + _dbus_string_free (&decoded_response); + return TRUE; failed: @@ -1264,7 +1268,8 @@ _dbus_auth_unref (DBusAuth *auth) { _dbus_list_clear (& DBUS_AUTH_CLIENT (auth)->mechs_to_try); } - + + _dbus_string_free (&auth->identity); _dbus_string_free (&auth->incoming); _dbus_string_free (&auth->outgoing); dbus_free (auth); diff --git a/dbus/dbus-connection.c b/dbus/dbus-connection.c index f5e3342..5d69203 100644 --- a/dbus/dbus-connection.c +++ b/dbus/dbus-connection.c @@ -348,6 +348,9 @@ _dbus_connection_new_for_transport (DBusTransport *transport) if (watch_list) _dbus_watch_list_free (watch_list); + + if (timeout_list) + _dbus_timeout_list_free (timeout_list); return NULL; } @@ -518,6 +521,9 @@ dbus_connection_unref (DBusConnection *connection) _dbus_watch_list_free (connection->watches); connection->watches = NULL; + _dbus_timeout_list_free (connection->timeouts); + connection->timeouts = NULL; + _dbus_connection_free_data_slots (connection); _dbus_hash_iter_init (connection->handler_table, &iter); diff --git a/dbus/dbus-marshal.c b/dbus/dbus-marshal.c index 9b9e9e6..231e4b3 100644 --- a/dbus/dbus-marshal.c +++ b/dbus/dbus-marshal.c @@ -1043,7 +1043,7 @@ _dbus_marshal_test (void) printf ("length is: %d\n", len); if (len != 3) _dbus_assert_not_reached ("Signed integer array lengths differ!\n"); - + dbus_free (array2); diff --git a/dbus/dbus-message.c b/dbus/dbus-message.c index a81b6fb..962a221 100644 --- a/dbus/dbus-message.c +++ b/dbus/dbus-message.c @@ -409,6 +409,7 @@ dbus_message_unref (DBusMessage *message) _dbus_string_free (&message->header); _dbus_string_free (&message->body); + dbus_free (message->sender); dbus_free (message->service); dbus_free (message->name); dbus_free (message); @@ -707,8 +708,6 @@ dbus_message_get_fields (DBusMessage *message, DBusResultCode retval; va_list var_args; - _dbus_verbose_bytes_of_string (&message->header, 0, - _dbus_string_get_length (&message->header)); va_start (var_args, first_field_type); retval = dbus_message_get_fields_valist (message, first_field_type, var_args); va_end (var_args); @@ -1323,7 +1322,7 @@ decode_header_data (DBusString *data, *service = NULL; *name = NULL; *sender = NULL; - + /* Now handle the fields */ while (pos < header_len) { @@ -1493,12 +1492,8 @@ _dbus_message_loader_return_buffer (DBusMessageLoader *loader, _dbus_assert (_dbus_string_get_length (&message->header) == 0); _dbus_assert (_dbus_string_get_length (&message->body) == 0); - if (!_dbus_string_move_len (&loader->data, 0, header_len, &message->header, 0)) - { - _dbus_list_remove_last (&loader->messages, message); - dbus_message_unref (message); - break; - } + /* Delete header part */ + _dbus_string_delete (&loader->data, 0, header_len); if (!_dbus_string_move_len (&loader->data, 0, body_len, &message->body, 0)) { @@ -1514,9 +1509,8 @@ _dbus_message_loader_return_buffer (DBusMessageLoader *loader, break; } - _dbus_assert (_dbus_string_get_length (&message->header) == header_len); _dbus_assert (_dbus_string_get_length (&message->body) == body_len); - + _dbus_verbose ("Loaded message %p\n", message); } else @@ -1678,6 +1672,9 @@ _dbus_message_test (void) if (strcmp (our_str, "Test string") != 0) _dbus_assert_not_reached ("strings differ!"); + + dbus_free (our_str); + dbus_message_unref (message); message = dbus_message_new ("org.freedesktop.DBus.Test", "testMessage"); message->client_serial = 1; -- 2.7.4