diff options
| author | Luiz Augusto von Dentz <luiz.dentz@openbossa.org> | 2008-05-05 17:55:29 +0000 | 
|---|---|---|
| committer | Luiz Augusto von Dentz <luiz.dentz@openbossa.org> | 2008-05-05 17:55:29 +0000 | 
| commit | fd18cec597d56cb2ad322ba04c5ed1b5516f7df3 (patch) | |
| tree | 17eac3465453ab06f286bdae2e9288fff7dcc036 /input | |
| parent | 15892632de70a6ed6a7025a09a11b9e287f8f68c (diff) | |
Fix possible double free in case of connecting to interrupt psm fails.
Diffstat (limited to 'input')
| -rw-r--r-- | input/manager.c | 5 | 
1 files 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)  | 
