summaryrefslogtreecommitdiff
path: root/src/session.c
diff options
context:
space:
mode:
authorDaniel Wagner <daniel.wagner@bmw-carit.de>2012-10-31 10:33:36 +0100
committerPatrik Flykt <patrik.flykt@linux.intel.com>2012-11-05 14:48:06 +0200
commit408ea7ab001fa94c26df5c7fbcc960a09315c576 (patch)
tree59265082821f0639a364bf75dabe2ad1b245f571 /src/session.c
parenta3a100bf6b221dae3bf8144b3bfe7ed39740f357 (diff)
downloadconnman-408ea7ab001fa94c26df5c7fbcc960a09315c576.tar.gz
connman-408ea7ab001fa94c26df5c7fbcc960a09315c576.tar.bz2
connman-408ea7ab001fa94c26df5c7fbcc960a09315c576.zip
session: Handle no match case in parse_bearers()
Diffstat (limited to 'src/session.c')
-rw-r--r--src/session.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/session.c b/src/session.c
index caa29012..5fb0ef88 100644
--- a/src/session.c
+++ b/src/session.c
@@ -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);
}