diff options
author | Jukka Rissanen <jukka.rissanen@linux.intel.com> | 2013-03-07 18:13:44 +0200 |
---|---|---|
committer | Patrik Flykt <patrik.flykt@linux.intel.com> | 2013-03-08 13:50:15 +0200 |
commit | de460f095ede26b71270e7e122c4b88932860f2a (patch) | |
tree | b28093d99f61cfaad580ea71609ca5f48ac61db4 /plugins | |
parent | 079002da173d6675072bd31a65917392119ec9e3 (diff) | |
download | connman-de460f095ede26b71270e7e122c4b88932860f2a.tar.gz connman-de460f095ede26b71270e7e122c4b88932860f2a.tar.bz2 connman-de460f095ede26b71270e7e122c4b88932860f2a.zip |
vpn: Check whether we have already removed the provider
The dbus messages from vpnd might come in different order so make
sure we are not trying to access already removed provider.
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/vpn.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/plugins/vpn.c b/plugins/vpn.c index f15796de..04318a96 100644 --- a/plugins/vpn.c +++ b/plugins/vpn.c @@ -796,6 +796,14 @@ static int provider_remove(struct connman_provider *provider) DBG("provider %p data %p", provider, data); + if (data == NULL) { + /* + * This means the provider is already removed, + * just ignore the dbus in this case. + */ + return -EALREADY; + } + /* * When provider.c:provider_remove() calls this function, * it will remove the provider itself after the call. |