session: Handle no match case in parse_bearers()
authorDaniel Wagner <daniel.wagner@bmw-carit.de>
Wed, 31 Oct 2012 09:33:36 +0000 (10:33 +0100)
committerPatrik Flykt <patrik.flykt@linux.intel.com>
Mon, 5 Nov 2012 12:48:06 +0000 (14:48 +0200)
src/session.c

index caa2901..5fb0ef8 100644 (file)
@@ -408,6 +408,14 @@ static int parse_bearers(DBusMessageIter *iter, GSList **list)
 
                dbus_message_iter_get_basic(&array, &bearer_name);
 
+               if (g_strcmp0(bearer_name, "") == 0) {
+                       /*
+                        * An empty string means 'no match' which
+                        * translates to allowed_bearers == NULL
+                        */
+                       goto next;
+               }
+
                bearer = g_try_new0(struct connman_session_bearer, 1);
                if (bearer == NULL) {
                        connman_session_free_bearers(*list);
@@ -424,6 +432,7 @@ static int parse_bearers(DBusMessageIter *iter, GSList **list)
 
                *list = g_slist_append(*list, bearer);
 
+       next:
                dbus_message_iter_next(&array);
        }