2003-01-26 Anders Carlsson <andersca@codefactory.se>
authorAnders Carlsson <andersca@codefactory.se>
Sun, 26 Jan 2003 01:30:11 +0000 (01:30 +0000)
committerAnders Carlsson <andersca@codefactory.se>
Sun, 26 Jan 2003 01:30:11 +0000 (01:30 +0000)
* 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
dbus/dbus-auth.c
dbus/dbus-connection.c
dbus/dbus-marshal.c
dbus/dbus-message.c

index 53d35fb..a8ee2b8 100644 (file)
--- 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
index 032e49a..dc73652 100644 (file)
@@ -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);
index f5e3342..5d69203 100644 (file)
@@ -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);
index 9b9e9e6..231e4b3 100644 (file)
@@ -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);
   
 
 
index a81b6fb..962a221 100644 (file)
@@ -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;