diff options
author | Anders Carlsson <andersca@codefactory.se> | 2003-01-26 01:30:11 +0000 |
---|---|---|
committer | Anders Carlsson <andersca@codefactory.se> | 2003-01-26 01:30:11 +0000 |
commit | 42788678e83ec1d82f048f86aff04017b58f072e (patch) | |
tree | c8a7a86e0c3cb1ed338a85c4a987690f1e288685 /dbus | |
parent | 5fbace55488af10cff74218954405e4c1d0c856b (diff) |
2003-01-26 Anders Carlsson <andersca@codefactory.se>
* 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.
Diffstat (limited to 'dbus')
-rw-r--r-- | dbus/dbus-auth.c | 9 | ||||
-rw-r--r-- | dbus/dbus-connection.c | 6 | ||||
-rw-r--r-- | dbus/dbus-marshal.c | 2 | ||||
-rw-r--r-- | dbus/dbus-message.c | 19 |
4 files changed, 22 insertions, 14 deletions
diff --git a/dbus/dbus-auth.c b/dbus/dbus-auth.c index 032e49a8..dc73652b 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 f5e3342f..5d69203f 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 9b9e9e62..231e4b3b 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 a81b6fbf..962a2215 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; |