[Spice-commits] 2 commits - server/reds.c server/reds.h server/tests

Frediano Ziglio fziglio at kemper.freedesktop.org
Fri Oct 13 16:14:18 UTC 2017


 server/reds.c             |    2 +-
 server/reds.h             |    4 ----
 server/tests/test-leaks.c |   36 ++++++++++++++++++++++++++++++++++++
 3 files changed, 37 insertions(+), 5 deletions(-)

New commits:
commit e16d7788db7a8443862957f1c88f991c5668f24b
Author: Frediano Ziglio <fziglio at redhat.com>
Date:   Tue Sep 19 08:27:38 2017 +0100

    tests: Check leaks registering migration interface
    
    Signed-off-by: Frediano Ziglio <fziglio at redhat.com>
    Acked-by: Christophe Fergeau <cfergeau at redhat.com>

diff --git a/server/tests/test-leaks.c b/server/tests/test-leaks.c
index 04dcac4f..7032000a 100644
--- a/server/tests/test-leaks.c
+++ b/server/tests/test-leaks.c
@@ -143,12 +143,48 @@ static void vmc_leaks(void)
     basic_event_loop_destroy();
 }
 
+static void migrate_cb(SpiceMigrateInstance *sin)
+{
+}
+
+static const SpiceMigrateInterface migrate_interface = {
+    .base = {
+        .type          = SPICE_INTERFACE_MIGRATION,
+        .description   = "migration",
+        .major_version = SPICE_INTERFACE_MIGRATION_MAJOR,
+        .minor_version = SPICE_INTERFACE_MIGRATION_MINOR,
+    },
+    .migrate_connect_complete = migrate_cb,
+    .migrate_end_complete = migrate_cb,
+};
+
+static void migration_leaks(void)
+{
+    SpiceCoreInterface *core;
+    SpiceServer *server = spice_server_new();
+    SpiceMigrateInstance migrate;
+
+    g_assert_nonnull(server);
+
+    core = basic_event_loop_init();
+    g_assert_nonnull(core);
+
+    g_assert_cmpint(spice_server_init(server, core), ==, 0);
+
+    migrate.base.sif = &migrate_interface.base;
+    spice_server_add_interface(server, &migrate.base);
+
+    spice_server_destroy(server);
+    basic_event_loop_destroy();
+}
+
 int main(int argc, char *argv[])
 {
     g_test_init(&argc, &argv, NULL);
 
     g_test_add_func("/server/server leaks", server_leaks);
     g_test_add_func("/server/vmc leaks", vmc_leaks);
+    g_test_add_func("/server/migration leaks", migration_leaks);
 
     return g_test_run();
 }
commit 343ac9f78d910d6a3cdfe309ff1a95b1204ac131
Author: Frediano Ziglio <fziglio at redhat.com>
Date:   Tue Sep 19 08:28:02 2017 +0100

    reds: Remove leak allocating migration state
    
    Signed-off-by: Frediano Ziglio <fziglio at redhat.com>
    Acked-by: Christophe Fergeau <cfergeau at redhat.com>

diff --git a/server/reds.c b/server/reds.c
index 6c8e0695..344f7991 100644
--- a/server/reds.c
+++ b/server/reds.c
@@ -3378,7 +3378,7 @@ SPICE_GNUC_VISIBLE int spice_server_add_interface(SpiceServer *reds,
             return -1;
         }
         reds->migration_interface = SPICE_CONTAINEROF(sin, SpiceMigrateInstance, base);
-        reds->migration_interface->st = spice_new0(SpiceMigrateState, 1);
+        reds->migration_interface->st = (SpiceMigrateState *)(intptr_t)1; // dummy pointer
     }
 
     return 0;
diff --git a/server/reds.h b/server/reds.h
index 4f5fc28c..cea002c5 100644
--- a/server/reds.h
+++ b/server/reds.h
@@ -35,10 +35,6 @@ static inline QXLInterface * qxl_get_interface(QXLInstance *qxl)
     return SPICE_CONTAINEROF(qxl->base.sif, QXLInterface, base);
 }
 
-struct SpiceMigrateState {
-    int dummy;
-};
-
 /* main thread only */
 void reds_handle_channel_event(RedsState *reds, int event, SpiceChannelEventInfo *info);
 


More information about the Spice-commits mailing list