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/dbus-message.c | |
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/dbus-message.c')
-rw-r--r-- | dbus/dbus-message.c | 19 |
1 files changed, 8 insertions, 11 deletions
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; |