session: Free ifname
authorDaniel Wagner <daniel.wagner@bmw-carit.de>
Thu, 11 Aug 2011 14:56:18 +0000 (16:56 +0200)
committerDaniel Wagner <daniel.wagner@bmw-carit.de>
Thu, 11 Aug 2011 15:40:52 +0000 (17:40 +0200)
connman_inet_ifname() returns strdup() string.

src/session.c

index f17e284..f6b9b51 100644 (file)
@@ -67,7 +67,7 @@ struct service_entry {
        enum connman_service_state state;
        const char *name;
        struct connman_service *service;
-       const char *ifname;
+       char *ifname;
        const char *bearer;
 };
 
@@ -1004,7 +1004,7 @@ static struct service_entry *create_service_entry(struct connman_service *servic
        idx = __connman_service_get_index(entry->service);
        entry->ifname = connman_inet_ifname(idx);
        if (entry->ifname == NULL)
-               entry->ifname = "";
+               entry->ifname = g_strdup("");
 
        type = connman_service_get_type(entry->service);
        entry->bearer = service2bearer(type);
@@ -1016,6 +1016,8 @@ static void destroy_service_entry(gpointer data)
 {
        struct service_entry *entry = data;
 
+       g_free(entry->ifname);
+
        g_free(entry);
 }