agent: Keep track of the driver to unref user context relevantly
authorTomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
Tue, 15 Jan 2013 12:57:38 +0000 (14:57 +0200)
committerPatrik Flykt <patrik.flykt@linux.intel.com>
Tue, 15 Jan 2013 14:46:02 +0000 (16:46 +0200)
Fixes BMC#25884

src/agent.c

index 3be4b61..5c3bd28 100644 (file)
@@ -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);