diff --git a/tools/iso-tester.c b/tools/iso-tester.c
index e80c215..41d46f5 100644
--- a/tools/iso-tester.c
+++ b/tools/iso-tester.c
struct test_data *data = tester_get_data();
const struct iso_client_data *isodata = data->test_data;
int sk, new_sk;
+ gboolean ret;
iso_defer_accept_t iso_accept = isodata->bcast ?
iso_defer_accept_bcast :
iso_defer_accept_ucast;
if (isodata->bcast) {
iso_connect(io, cond, user_data);
- if (!data->step)
+ if (!data->step) {
+ g_io_channel_unref(io);
return false;
+ }
}
if (!iso_accept(data, io)) {
}
}
- return iso_connect(io, cond, user_data);
+ ret = iso_connect(io, cond, user_data);
+
+ g_io_channel_unref(io);
+ return ret;
}
static void test_listen(const void *test_data)