Diff between 6c3c059c52ff36ae7e3eaaecc902ef358cccf221 and ed1c044cfe57e380f114e81f8d8dd31cf91b4f67

Changed Files

File Additions Deletions Status
emulator/smp.c +4 -5 modified

Full Patch

diff --git a/emulator/smp.c b/emulator/smp.c
index f339e15..db0065d 100644
--- a/emulator/smp.c
+++ b/emulator/smp.c
@@ -508,7 +508,8 @@ static void pairing_cfm(struct smp_conn *conn, const void *data, uint16_t len)
 
 	if (conn->out) {
 		memset(rsp, 0, sizeof(rsp));
-		smp_send(conn, BT_L2CAP_SMP_PAIRING_RANDOM, rsp, sizeof(rsp));
+		smp_send(conn, BT_L2CAP_SMP_PAIRING_RANDOM, conn->prnd,
+					sizeof(conn->prnd));
 	} else {
 		bt_crypto_c1(conn->smp->crypto, conn->tk, conn->prnd,
 				conn->prsp, conn->preq, conn->ia_type,
@@ -545,8 +546,6 @@ static uint8_t sc_random(struct smp_conn *conn)
 
 static void pairing_rnd(struct smp_conn *conn, const void *data, uint16_t len)
 {
-	uint8_t rsp[16];
-
 	memcpy(conn->rrnd, data + 1, 16);
 
 	if (conn->sc) {
@@ -563,8 +562,8 @@ static void pairing_rnd(struct smp_conn *conn, const void *data, uint16_t len)
 	if (conn->out)
 		return;
 
-	memset(rsp, 0, sizeof(rsp));
-	smp_send(conn, BT_L2CAP_SMP_PAIRING_RANDOM, rsp, sizeof(rsp));
+	smp_send(conn, BT_L2CAP_SMP_PAIRING_RANDOM, conn->prnd,
+				sizeof(conn->prnd));
 }
 
 static void encrypt_info(struct smp_conn *conn, const void *data, uint16_t len)