From 408ea7ab001fa94c26df5c7fbcc960a09315c576 Mon Sep 17 00:00:00 2001 From: Daniel Wagner Date: Wed, 31 Oct 2012 10:33:36 +0100 Subject: session: Handle no match case in parse_bearers() --- src/session.c | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'src') 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); } -- cgit v1.2.3