diff options
author | Daniel Wagner <daniel.wagner@bmw-carit.de> | 2012-10-31 10:33:36 +0100 |
---|---|---|
committer | Patrik Flykt <patrik.flykt@linux.intel.com> | 2012-11-05 14:48:06 +0200 |
commit | 408ea7ab001fa94c26df5c7fbcc960a09315c576 (patch) | |
tree | 59265082821f0639a364bf75dabe2ad1b245f571 /src/session.c | |
parent | a3a100bf6b221dae3bf8144b3bfe7ed39740f357 (diff) | |
download | connman-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.c | 9 |
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); } |