2010-11-25 10:06:55

by Rafal Michalski

[permalink] [raw]
Subject: [PATCH] Fix crash after simultaneous authentication requests

Previously simultaneous authentication requests to the same device caused
bluetoothd crash. Now if ongoing authentication occurs error is returned,
preventing from simultaneous requests to the same device.
---
src/device.c | 5 +++++
1 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/src/device.c b/src/device.c
index 7c421e3..4427cd4 100644
--- a/src/device.c
+++ b/src/device.c
@@ -2178,6 +2178,11 @@ int device_request_authentication(struct btd_device *device, auth_type_t type,
struct agent *agent;
int err;

+ if (device->authr) {
+ error("%s: authentication already requested", device->path);
+ return -EALREADY;
+ }
+
DBG("%s: requesting agent authentication", device->path);

agent = device_get_agent(device);
--
1.6.3.3



2010-11-25 20:11:56

by Johan Hedberg

[permalink] [raw]
Subject: Re: [PATCH] Fix crash after simultaneous authentication requests

Hi Rafal,

On Thu, Nov 25, 2010, Rafal Michalski wrote:
> Previously simultaneous authentication requests to the same device caused
> bluetoothd crash. Now if ongoing authentication occurs error is returned,
> preventing from simultaneous requests to the same device.
> ---
> src/device.c | 5 +++++
> 1 files changed, 5 insertions(+), 0 deletions(-)

Pushed upstream. Thanks.

Johan