summary refs log tree commit diff stats
path: root/tests/test-vmstate.c
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test-vmstate.c')
-rw-r--r--tests/test-vmstate.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/tests/test-vmstate.c b/tests/test-vmstate.c
index 41fd841aed..d8da26f974 100644
--- a/tests/test-vmstate.c
+++ b/tests/test-vmstate.c
@@ -50,16 +50,20 @@ static QEMUFile *open_test_file(bool write)
 {
     int fd = dup(temp_fd);
     QIOChannel *ioc;
+    QEMUFile *f;
+
     lseek(fd, 0, SEEK_SET);
     if (write) {
         g_assert_cmpint(ftruncate(fd, 0), ==, 0);
     }
     ioc = QIO_CHANNEL(qio_channel_file_new_fd(fd));
     if (write) {
-        return qemu_fopen_channel_output(ioc);
+        f = qemu_fopen_channel_output(ioc);
     } else {
-        return qemu_fopen_channel_input(ioc);
+        f = qemu_fopen_channel_input(ioc);
     }
+    object_unref(OBJECT(ioc));
+    return f;
 }
 
 #define SUCCESS(val) \