summaryrefslogtreecommitdiff
path: root/src/agent.c
diff options
context:
space:
mode:
authorTomasz Bursztyka <tomasz.bursztyka@linux.intel.com>2013-01-15 14:57:38 +0200
committerPatrik Flykt <patrik.flykt@linux.intel.com>2013-01-15 16:46:02 +0200
commit0ac965a7e350612a90d1a31cc03394b7c0a73111 (patch)
treeeb21e3b3657168ede1622cb52ff98d27102b3b1c /src/agent.c
parentc8dd27a205c28d61580c1530d80e510b947e1d2a (diff)
downloadconnman-0ac965a7e350612a90d1a31cc03394b7c0a73111.tar.gz
connman-0ac965a7e350612a90d1a31cc03394b7c0a73111.tar.bz2
connman-0ac965a7e350612a90d1a31cc03394b7c0a73111.zip
agent: Keep track of the driver to unref user context relevantly
Fixes BMC#25884
Diffstat (limited to 'src/agent.c')
-rw-r--r--src/agent.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/agent.c b/src/agent.c
index 3be4b616..5c3bd28c 100644
--- a/src/agent.c
+++ b/src/agent.c
@@ -187,9 +187,10 @@ int connman_agent_queue_message(void *user_context,
driver = get_driver();
DBG("driver %p", driver);
- if (driver != NULL && driver->context_ref != NULL)
+ if (driver != NULL && driver->context_ref != NULL) {
queue_data->user_context = driver->context_ref(user_context);
- else
+ queue_data->driver = driver;
+ } else
queue_data->user_context = user_context;
queue_data->msg = dbus_message_ref(msg);