From 2e0d7c44ff32150c209cf7066dbeb34e464090e5 Mon Sep 17 00:00:00 2001
From: Johan Hedberg <johan.hedberg@nokia.com>
Date: Thu, 17 Jun 2010 23:20:33 +0300
Subject: [PATCH 07/37] Fix attempt to use a potential negative array index

---
 src/security.c |    7 ++++---
 1 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/src/security.c b/src/security.c
index e8c463c..ca394e1 100644
--- a/src/security.c
+++ b/src/security.c
@@ -377,11 +377,14 @@ static void link_key_notify(int dev, bdaddr_t *sba, void *ptr)
 	dev_id = hci_devid(sa);
 	if (dev_id < 0)
 		err = -errno;
-	else
+	else {
 		err = hcid_dbus_link_key_notify(sba, dba, evt->link_key,
 						evt->key_type,
 						io_data[dev_id].pin_length,
 						old_key_type);
+		io_data[dev_id].pin_length = -1;
+	}
+
 	if (err < 0) {
 		uint16_t handle;
 
@@ -403,8 +406,6 @@ static void link_key_notify(int dev, bdaddr_t *sba, void *ptr)
 						DISCONNECT_CP_SIZE, &cp);
 		}
 	}
-
-	io_data[dev_id].pin_length = -1;
 }
 
 static void return_link_keys(int dev, bdaddr_t *sba, void *ptr)
-- 
1.7.2.3

