From: Daniel Wagner <[email protected]>

connman_inet_ifname() returns strdup() string.
---
 src/session.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/session.c b/src/session.c
index f17e284..f6b9b51 100644
--- a/src/session.c
+++ b/src/session.c
@@ -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);
 }
 
-- 
1.7.6

_______________________________________________
connman mailing list
[email protected]
http://lists.connman.net/listinfo/connman

Reply via email to