Bastien Nocera 2a3b1d
From 1da26fd3ce47728f423e290e3928257ead9baf76 Mon Sep 17 00:00:00 2001
Bastien Nocera 2a3b1d
From: Bastien Nocera <hadess@hadess.net>
Bastien Nocera 2a3b1d
Date: Sat, 7 Dec 2013 15:51:47 +0100
Bastien Nocera 2a3b1d
Subject: [PATCH] input: Fix crash when SDP record isn't available
Bastien Nocera 2a3b1d
Bastien Nocera 2a3b1d
On startup, if the SDP cache has been removed but the pairing
Bastien Nocera 2a3b1d
information is still present, we'd crash trying to access inside a
Bastien Nocera 2a3b1d
NULL record struct.
Bastien Nocera 2a3b1d
---
Bastien Nocera 2a3b1d
 profiles/input/device.c | 3 +++
Bastien Nocera 2a3b1d
 1 file changed, 3 insertions(+)
Bastien Nocera 2a3b1d
Bastien Nocera 2a3b1d
diff --git a/profiles/input/device.c b/profiles/input/device.c
Bastien Nocera 2a3b1d
index 6523161..8a28b0d 100644
Bastien Nocera 2a3b1d
--- a/profiles/input/device.c
Bastien Nocera 2a3b1d
+++ b/profiles/input/device.c
Bastien Nocera 2a3b1d
@@ -811,6 +811,9 @@ static struct input_device *input_device_new(struct btd_service *service)
Bastien Nocera 2a3b1d
 	struct input_device *idev;
Bastien Nocera 2a3b1d
 	char name[HCI_MAX_NAME_LENGTH + 1];
Bastien Nocera 2a3b1d
 
Bastien Nocera 2a3b1d
+	if (!rec)
Bastien Nocera 2a3b1d
+		return NULL;
Bastien Nocera 2a3b1d
+
Bastien Nocera 2a3b1d
 	idev = g_new0(struct input_device, 1);
Bastien Nocera 2a3b1d
 	bacpy(&idev->src, adapter_get_address(adapter));
Bastien Nocera 2a3b1d
 	bacpy(&idev->dst, device_get_address(device));
Bastien Nocera 2a3b1d
-- 
Bastien Nocera 2a3b1d
1.8.4.2
Bastien Nocera 2a3b1d