From c69acf2c268b7204da42166001194b0fe6926d91 Mon Sep 17 00:00:00 2001 From: Johan Hedberg Date: Fri, 14 Mar 2008 20:10:07 +0000 Subject: Add some checks to disallow multiple simultaneous agent requests --- hcid/agent.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/hcid/agent.c b/hcid/agent.c index e0111b0b..a5f2dd40 100644 --- a/hcid/agent.c +++ b/hcid/agent.c @@ -304,7 +304,8 @@ int agent_authorize(struct agent *agent, { struct agent_request *req; - debug("agent_authorize"); + if (agent->request) + return -EBUSY; req = agent_request_new(agent, device, cb, user_data); @@ -426,6 +427,9 @@ int agent_request_passkey(struct agent *agent, const char *device, { struct agent_request *req; + if (agent->request) + return -EBUSY; + req = agent_request_new(agent, device, cb, user_data); req->call = passkey_request_new(device, agent, FALSE); @@ -528,6 +532,9 @@ int agent_confirm(struct agent *agent, const char *device, const char *pin, { struct agent_request *req; + if (agent->request) + return -EBUSY; + debug("Calling Agent.Confirm: name=%s, path=%s", agent->name, agent->path); -- cgit