sim900: Properly clean up device IOChannel on error
authorDenis Kenzior <denkenz@gmail.com>
Tue, 26 Mar 2013 15:34:09 +0000 (10:34 -0500)
committerDenis Kenzior <denkenz@gmail.com>
Tue, 26 Mar 2013 15:34:09 +0000 (10:34 -0500)
plugins/sim900.c

index de2a6f7..52fc38d 100644 (file)
@@ -139,8 +139,12 @@ static GAtChat *open_device(struct ofono_modem *modem,
        chat = g_at_chat_new(channel, syntax);
        g_at_syntax_unref(syntax);
 
-       if (chat == NULL)
+       if (chat == NULL) {
+               g_io_channel_unref(data->device);
+               data->device = NULL;
+
                return NULL;
+       }
 
        if (getenv("OFONO_AT_DEBUG"))
                g_at_chat_set_debug(chat, sim900_debug, debug);