From fd18cec597d56cb2ad322ba04c5ed1b5516f7df3 Mon Sep 17 00:00:00 2001 From: Luiz Augusto von Dentz Date: Mon, 5 May 2008 17:55:29 +0000 Subject: Fix possible double free in case of connecting to interrupt psm fails. --- input/manager.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/input/manager.c b/input/manager.c index 9f8dcf66..51085279 100644 --- a/input/manager.c +++ b/input/manager.c @@ -226,6 +226,9 @@ static void interrupt_connect_cb(GIOChannel *chan, int err, gpointer user_data) goto failed; } + g_io_channel_close(chan); + g_io_channel_unref(chan); + extract_hid_record(pr->hid_recs->data, &hidp); if (pr->pnp_recs) extract_pnp_record(pr->pnp_recs->data, &hidp); @@ -261,8 +264,6 @@ failed: cleanup: g_io_channel_close(pr->ctrl_channel); g_io_channel_unref(pr->ctrl_channel); - g_io_channel_close(chan); - g_io_channel_unref(chan); pending_req_free(pr); if (hidp.rd_data) -- cgit