Linux bluetooth development
 help / color / mirror / Atom feed
* [PATCH 1/3] android/gatt: Check for connection state on connection search
@ 2014-05-21 14:34 Jakub Tyszkowski
  2014-05-21 14:34 ` [PATCH 2/3] attrib: Fix minor whitespace issue Jakub Tyszkowski
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Jakub Tyszkowski @ 2014-05-21 14:34 UTC (permalink / raw)
  To: linux-bluetooth; +Cc: Jakub Tyszkowski

This search was used with the assumption that connection is in
"connected" state. This could result in attrib pointer being
dereferenced while it's still NULL (pending connection).
---
 android/gatt.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/android/gatt.c b/android/gatt.c
index 89da60d..1b000c4 100644
--- a/android/gatt.c
+++ b/android/gatt.c
@@ -364,8 +364,14 @@ static bool match_connection_by_device_and_app(const void *data,
 
 static struct app_connection *find_connection_by_id(int32_t conn_id)
 {
-	return queue_find(app_connections, match_connection_by_id,
+	struct app_connection *conn;
+
+	conn = queue_find(app_connections, match_connection_by_id,
 							INT_TO_PTR(conn_id));
+	if (conn && conn->device->state == DEVICE_CONNECTED)
+		return conn;
+
+	return NULL;
 }
 
 static bool match_connection_by_device(const void *data, const void *user_data)
-- 
1.9.3


^ permalink raw reply related	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2014-05-22 12:12 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-05-21 14:34 [PATCH 1/3] android/gatt: Check for connection state on connection search Jakub Tyszkowski
2014-05-21 14:34 ` [PATCH 2/3] attrib: Fix minor whitespace issue Jakub Tyszkowski
2014-05-21 14:34 ` [PATCH 3/3] gatt: Fix not freeing GError on failure Jakub Tyszkowski
2014-05-21 14:54   ` Johan Hedberg
2014-05-22 11:01     ` [PATCHv2] " Jakub Tyszkowski
2014-05-22 12:12 ` [PATCH 1/3] android/gatt: Check for connection state on connection search Szymon Janc

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox