From 11b6aad92d4a9c33570175db9208412b1dfa69e8 Mon Sep 17 00:00:00 2001 From: Archie Pusaka Date: Tue, 20 Oct 2020 18:02:45 +0800 Subject: [PATCH] device: fix temporary_timer double free One instance of freeing temporary_timer is not followed by setting the variable to 0, causing potential double free. Signed-off-by: Anuj Jain Signed-off-by: Ayush Garg --- src/device.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/device.c b/src/device.c index bfa284a..6eb25a7 100644 --- a/src/device.c +++ b/src/device.c @@ -7208,8 +7208,10 @@ void device_remove(struct btd_device *device, gboolean remove_stored) disconnect_all(device); } - if (device->temporary_timer > 0) + if (device->temporary_timer > 0) { g_source_remove(device->temporary_timer); + device->temporary_timer = 0; + } if (device->store_id > 0) { g_source_remove(device->store_id); -- 2.7.4