From: Daniel Wagner Date: Wed, 31 Oct 2012 09:33:36 +0000 (+0100) Subject: session: Handle no match case in parse_bearers() X-Git-Tag: 1.10~211 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=408ea7ab001fa94c26df5c7fbcc960a09315c576;p=platform%2Fupstream%2Fconnman.git session: Handle no match case in parse_bearers() --- diff --git a/src/session.c b/src/session.c index caa2901..5fb0ef8 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); }