relay test: don't leak the server's address
authorSimon McVittie <simon.mcvittie@collabora.co.uk>
Thu, 4 Aug 2011 12:13:24 +0000 (13:13 +0100)
committerSimon McVittie <simon.mcvittie@collabora.co.uk>
Fri, 5 Aug 2011 13:46:09 +0000 (14:46 +0100)
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=39836
Reviewed-by: Will Thompson <will.thompson@collabora.co.uk>
test/relay.c

index bad39f4..f4129d0 100644 (file)
@@ -137,12 +137,15 @@ test_connect (Fixture *f,
     gconstpointer data G_GNUC_UNUSED)
 {
   dbus_bool_t have_mem;
+  char *address;
 
   g_assert (f->left_server_conn == NULL);
   g_assert (f->right_server_conn == NULL);
 
-  f->left_client_conn = dbus_connection_open_private (
-      dbus_server_get_address (f->server), &f->e);
+  address = dbus_server_get_address (f->server);
+  g_assert (address != NULL);
+
+  f->left_client_conn = dbus_connection_open_private (address, &f->e);
   assert_no_error (&f->e);
   g_assert (f->left_client_conn != NULL);
   dbus_connection_setup_with_g_main (f->left_client_conn, NULL);
@@ -153,12 +156,13 @@ test_connect (Fixture *f,
       g_main_context_iteration (NULL, TRUE);
     }
 
-  f->right_client_conn = dbus_connection_open_private (
-      dbus_server_get_address (f->server), &f->e);
+  f->right_client_conn = dbus_connection_open_private (address, &f->e);
   assert_no_error (&f->e);
   g_assert (f->right_client_conn != NULL);
   dbus_connection_setup_with_g_main (f->right_client_conn, NULL);
 
+  dbus_free (address);
+
   while (f->right_server_conn == NULL)
     {
       g_print (".");