summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJukka Rissanen <jukka.rissanen@linux.intel.com>2013-03-07 18:13:38 +0200
committerPatrik Flykt <patrik.flykt@linux.intel.com>2013-03-08 13:49:57 +0200
commit233b185bf1a8b7e9946aff88971fcecadf639dc7 (patch)
tree5437c84d2077ccae22765f44bf052219e1714989
parent082c0eb57b14e8bddfe4a754ab13ccedb5681157 (diff)
downloadconnman-233b185bf1a8b7e9946aff88971fcecadf639dc7.tar.gz
connman-233b185bf1a8b7e9946aff88971fcecadf639dc7.tar.bz2
connman-233b185bf1a8b7e9946aff88971fcecadf639dc7.zip
vpn: Clear the data pointer from provider when destroying
If the data pointer is left around, then vpn plugin might accidentally use it if dbus messages are received after we have cleared the vpn connection.
-rw-r--r--plugins/vpn.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/plugins/vpn.c b/plugins/vpn.c
index cbba3965..f60a658b 100644
--- a/plugins/vpn.c
+++ b/plugins/vpn.c
@@ -1438,6 +1438,8 @@ static void destroy_provider(struct connection_data *data)
if (data->call != NULL)
dbus_pending_call_cancel(data->call);
+ connman_provider_set_data(data->provider, NULL);
+
connman_provider_put(data->provider);
data->provider = NULL;