summaryrefslogtreecommitdiffstats
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
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.
-rw-r--r--ChangeLog18
-rw-r--r--dbus/dbus-auth.c9
-rw-r--r--dbus/dbus-connection.c6
-rw-r--r--dbus/dbus-marshal.c2
-rw-r--r--dbus/dbus-message.c19
5 files changed, 40 insertions, 14 deletions
diff --git a/ChangeLog b/ChangeLog
index 53d35fb1..a8ee2b8d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,21 @@
+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.
+
2003-01-26 Richard Hult <rhult@codefactory.se>
* glib/dbus-gmain.c (dbus_connection_dispatch): Traverse a copy of
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;