From: Jukka Rissanen Date: Thu, 7 Mar 2013 16:13:45 +0000 (+0200) Subject: vpn: Make sure vpn connection really exists before removing it X-Git-Tag: 1.13~91 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=76e97ed5506da5b88111a9b2a3cdcaa4f6d8c43d;p=platform%2Fupstream%2Fconnman.git vpn: Make sure vpn connection really exists before removing it --- diff --git a/plugins/vpn.c b/plugins/vpn.c index 04318a9..038a833 100644 --- a/plugins/vpn.c +++ b/plugins/vpn.c @@ -1508,6 +1508,7 @@ static gboolean connection_removed(DBusConnection *conn, DBusMessage *message, { const char *path; const char *signature = DBUS_TYPE_OBJECT_PATH_AS_STRING; + struct connection_data *data; if (dbus_message_has_signature(message, signature) == FALSE) { connman_error("vpn removed signature \"%s\" does not match " @@ -1518,7 +1519,11 @@ static gboolean connection_removed(DBusConnection *conn, DBusMessage *message, dbus_message_get_args(message, NULL, DBUS_TYPE_OBJECT_PATH, &path, DBUS_TYPE_INVALID); - remove_connection(conn, path); + + data = g_hash_table_lookup(vpn_connections, get_ident(path)); + if (data != NULL) + remove_connection(conn, path); + return TRUE; }