From a6761b629f49bf3cbfd8f365208228e9810f9a29 Mon Sep 17 00:00:00 2001 From: Alex Deymo Date: Thu, 21 Mar 2013 00:04:41 -0700 Subject: [PATCH] core: Fix wrong argument on agent *_cb functions. The last argument for the functions pincode_cb, passkey_cb and confirm_cb is a user data pointer with the "void *". Those functions expect a "struct authentication_req *", but insted a "struct btd_device*" without any complaint from the compiler due the void* cast. This fix passes the right argument to those functions. Other uses of those functions as callbacks (agent_request_passkey, agent_request_pincode, agent_request_authorization and agent_request_confirmation) pass the right struct authentication_req *. --- src/device.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/device.c b/src/device.c index 3cd7f10db..1630082ed 100644 --- a/src/device.c +++ b/src/device.c @@ -3952,14 +3952,12 @@ int device_notify_pincode(struct btd_device *device, gboolean secure, static void cancel_authentication(struct authentication_req *auth) { - struct btd_device *device; struct agent *agent; DBusError err; if (!auth || !auth->agent) return; - device = auth->device; agent = auth->agent; auth->agent = NULL; @@ -3968,19 +3966,19 @@ static void cancel_authentication(struct authentication_req *auth) switch (auth->type) { case AUTH_TYPE_PINCODE: - pincode_cb(agent, &err, NULL, device); + pincode_cb(agent, &err, NULL, auth); break; case AUTH_TYPE_CONFIRM: - confirm_cb(agent, &err, device); + confirm_cb(agent, &err, auth); break; case AUTH_TYPE_PASSKEY: - passkey_cb(agent, &err, 0, device); + passkey_cb(agent, &err, 0, auth); break; case AUTH_TYPE_NOTIFY_PASSKEY: /* User Notify doesn't require any reply */ break; case AUTH_TYPE_NOTIFY_PINCODE: - pincode_cb(agent, &err, NULL, device); + pincode_cb(agent, &err, NULL, auth); break; } -- 2.47.3