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