summaryrefslogtreecommitdiffstats
path: root/dbus/dbus-message.c
diff options
context:
space:
mode:
authorAnders Carlsson <andersca@codefactory.se>2003-01-26 01:30:11 +0000
committerAnders Carlsson <andersca@codefactory.se>2003-01-26 01:30:11 +0000
commit42788678e83ec1d82f048f86aff04017b58f072e (patch)
treec8a7a86e0c3cb1ed338a85c4a987690f1e288685 /dbus/dbus-message.c
parent5fbace55488af10cff74218954405e4c1d0c856b (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.c19
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;