Skip to content

Commit 9aa695e

Browse files
committed
Fix warnings:
- Reorder member initialization on BLELocalCharacteristic - Remove unused variables in: - HCIClass::tryResolveAddress - HCIClass::handleEventPkt (the whole else if statement did nothing) - L2CAPSignalingClass::handleSecurityData (one initialization should be inside of _BLE_TRACE_ - BluetoothCryptoToolbox::f5 - BluetoothCryptoToolbox::testAh - BluetoothCryptoToolbox::testg2 - Uninitialized variable in L2CAPSignalingClass::handleSecurityData
1 parent 55e7bb6 commit 9aa695e

File tree

4 files changed

+5
-54
lines changed

4 files changed

+5
-54
lines changed

src/local/BLELocalCharacteristic.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,14 +32,14 @@
3232
BLELocalCharacteristic::BLELocalCharacteristic(const char* uuid, uint16_t permissions, int valueSize, bool fixedLength) :
3333
BLELocalAttribute(uuid),
3434
_properties((uint8_t)(permissions&0x000FF)),
35+
_permissions((uint8_t)((permissions&0xFF00)>>8)),
3536
_valueSize(min(valueSize, 512)),
3637
_valueLength(0),
3738
_fixedLength(fixedLength),
3839
_handle(0x0000),
3940
_broadcast(false),
4041
_written(false),
41-
_cccdValue(0x0000),
42-
_permissions((uint8_t)((permissions&0xFF00)>>8))
42+
_cccdValue(0x0000)
4343
{
4444
memset(_eventHandlers, 0x00, sizeof(_eventHandlers));
4545

src/utility/HCI.cpp

Lines changed: 1 addition & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -554,15 +554,12 @@ int HCIClass::readStoredLK(uint8_t BD_ADDR[], uint8_t read_all ){
554554

555555
int HCIClass::tryResolveAddress(uint8_t* BDAddr, uint8_t* address){
556556
uint8_t iphone[16] = {0xA6, 0xD2, 0xD, 0xD3, 0x4F, 0x13, 0x42, 0x4F, 0xE1, 0xC1, 0xFD, 0x22, 0x2E, 0xC5, 0x6A, 0x2D};
557-
uint8_t irk[16];
558-
for(int i=0; i<16; i++) irk[15-i] = iphone[i];
559557
bool foundMatch = false;
560558
if(HCI._getIRKs!=0){
561559
uint8_t nIRKs = 0;
562560
uint8_t** BDAddrType = new uint8_t*;
563561
uint8_t*** BADDRs = new uint8_t**;
564562
uint8_t*** IRKs = new uint8_t**;
565-
uint8_t* memcheck;
566563

567564

568565
if(!HCI._getIRKs(&nIRKs, BDAddrType, BADDRs, IRKs)){
@@ -971,33 +968,12 @@ void HCIClass::handleEventPkt(uint8_t /*plen*/, uint8_t pdata[])
971968
data += 2;
972969
}
973970
}
974-
else if(eventHdr->evt == EVT_RETURN_LINK_KEYS)
975-
{
976-
uint8_t num_keys = (uint8_t)pdata[sizeof(HCIEventHdr)];
977-
// Serial.print("N keys: ");
978-
// Serial.println(num_keys);
979-
uint8_t BD_ADDRs[num_keys][6];
980-
uint8_t LKs[num_keys][16];
981-
auto nAddresss = [pdata](uint8_t nAddr)->uint8_t*{
982-
return (uint8_t*) &pdata[sizeof(HCIEventHdr)] + 1 + nAddr*6 + nAddr*16;
983-
};
984-
auto nLK = [pdata](uint8_t nLK)->uint8_t*{
985-
return (uint8_t*) &pdata[sizeof(HCIEventHdr)] + 1 + (nLK+1)*6 + nLK*16;
986-
};
987-
// Serial.println("Stored LKs are: ");
988-
// for(int i=0; i<num_keys; i++){
989-
// Serial.print("Address : ");
990-
// btct.printBytes(nAddresss(i),6);
991-
// Serial.print("LK : ");
992-
// btct.printBytes(nLK(i),16);
993-
// }
994-
}
995971
else if(eventHdr->evt == 0x10)
996972
{
973+
#ifdef _BLE_TRACE_
997974
struct __attribute__ ((packed)) CmdHardwareError {
998975
uint8_t hardwareCode;
999976
} *cmdHardwareError = (CmdHardwareError*)&pdata[sizeof(HCIEventHdr)];
1000-
#ifdef _BLE_TRACE_
1001977
Serial.print("Bluetooth hardware error.");
1002978
Serial.print(" Code: 0x");
1003979
Serial.println(cmdHardwareError->hardwareCode, HEX);
@@ -1096,9 +1072,6 @@ void HCIClass::handleEventPkt(uint8_t /*plen*/, uint8_t pdata[])
10961072
leConnectionComplete->supervisionTimeout,
10971073
leConnectionComplete->masterClockAccuracy);
10981074
}
1099-
uint8_t address[6];
1100-
uint8_t BDAddr[6];
1101-
for(int i=0; i<6; i++) BDAddr[5-i] = leConnectionComplete->peerBdaddr[i];
11021075
// leReadPeerResolvableAddress(leConnectionComplete->peerBdaddrType,BDAddr,address);
11031076
// Serial.print("Resolving address: ");
11041077
// btct.printBytes(BDAddr, 6);
@@ -1325,11 +1298,6 @@ void HCIClass::handleEventPkt(uint8_t /*plen*/, uint8_t pdata[])
13251298

13261299
// Send Pairing confirm response
13271300
HCI.sendAclPkt(connectionHandle, SECURITY_CID, sizeof(pairingConfirm), &pairingConfirm);
1328-
// Start calculating DH Key
1329-
uint8_t remotePublicKeyReversed[sizeof(HCI.remotePublicKeyBuffer)];
1330-
for(int i=0; i<sizeof(HCI.remotePublicKeyBuffer); i++){
1331-
remotePublicKeyReversed[sizeof(HCI.remotePublicKeyBuffer)-i] = HCI.remotePublicKeyBuffer[i];
1332-
}
13331301

13341302
HCI.sendCommand( (OGF_LE_CTL << 10) | LE_COMMAND::GENERATE_DH_KEY_V1, sizeof(HCI.remotePublicKeyBuffer), HCI.remotePublicKeyBuffer);
13351303
}else{

src/utility/L2CAPSignaling.cpp

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -264,12 +264,12 @@ void L2CAPSignalingClass::handleSecurityData(uint16_t connectionHandle, uint8_t
264264
}
265265
else if(code == CONNECTION_PAIRING_FAILED)
266266
{
267+
#ifdef _BLE_TRACE_
267268
struct __attribute__ ((packed)) PairingFailed
268269
{
269270
uint8_t code;
270271
uint8_t reason;
271272
} *pairingFailed = (PairingFailed*)data;
272-
#ifdef _BLE_TRACE_
273273
Serial.print("Pairing failed with code: 0x");
274274
Serial.println(pairingFailed->reason,HEX);
275275
#endif
@@ -293,7 +293,7 @@ void L2CAPSignalingClass::handleSecurityData(uint16_t connectionHandle, uint8_t
293293
} *identityAddress = (IdentityAddress*)data;
294294
// we can save this information now.
295295
uint8_t peerAddress[6];
296-
for(int i; i<6; i++) peerAddress[5-i] = identityAddress->address[i];
296+
for(int i=0; i<6; i++) peerAddress[5-i] = identityAddress->address[i];
297297

298298
HCI.saveNewAddress(identityAddress->addressType, peerAddress, ATT.peerIRK, ATT.localIRK);
299299
if(HCI._storeLTK!=0){
@@ -315,11 +315,6 @@ void L2CAPSignalingClass::handleSecurityData(uint16_t connectionHandle, uint8_t
315315
};
316316
memcpy(generateDHKeyCommand.x,connectionPairingPublicKey->x,32);
317317
memcpy(generateDHKeyCommand.y,connectionPairingPublicKey->y,32);
318-
struct __attribute__ ((packed)) ReadPublicKeyCommand {
319-
uint8_t code;
320-
} readPublicKeyCommand = {
321-
LE_COMMAND::READ_LOCAL_P256,
322-
};
323318

324319
if(ATT.setPeerEncryption(connectionHandle, ATT.getPeerEncryption(connectionHandle) | PEER_ENCRYPTION::REQUESTED_ENCRYPTION)){
325320
#ifdef _BLE_TRACE_

src/utility/btct.cpp

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -60,16 +60,8 @@ int BluetoothCryptoToolbox::f5(uint8_t DHKey[],uint8_t N_master[], uint8_t N_sla
6060
printBytes(BD_ADDR_slave, ADDR_LEN);
6161
#endif
6262

63-
uint8_t ADD_M[7];
64-
uint8_t ADD_S[7];
6563
uint8_t T[16];
6664

67-
for(int i=0; i<6; i++){
68-
ADD_M[1+i] = BD_ADDR_master[i];
69-
ADD_M[0] = 0x00;
70-
ADD_S[i+1] = BD_ADDR_slave[i];
71-
ADD_S[0] = 0x00;
72-
}
7365
struct __attribute__ ((packed)) CmacInput
7466
{
7567
uint8_t counter;
@@ -135,11 +127,8 @@ int BluetoothCryptoToolbox::ah(uint8_t k[16], uint8_t r[3], uint8_t* result)
135127
void BluetoothCryptoToolbox::testAh()
136128
{
137129
uint8_t irk[16] = {0xec,0x02,0x34,0xa3,0x57,0xc8,0xad,0x05,0x34,0x10,0x10,0xa6,0x0a,0x39,0x7d,0x9b};
138-
uint8_t r[3] = {0x70,0x81,0x94};
139-
uint8_t expected_AES[16] = {0x15,0x9d,0x5f,0xb7,0x2e,0xbe,0x23,0x11,0xa4,0x8c,0x1b,0xdc,0xc4,0x0d,0xfb,0xaa};
140130
uint8_t expected_final[3] = {0x0d,0xfb,0xaa};
141131

142-
for(int i=0; i<3; i++) r[2-i] = expected_final[3+i];
143132
uint8_t ourResult[3];
144133
ah(irk, expected_final, ourResult);
145134

@@ -170,7 +159,6 @@ void BluetoothCryptoToolbox::testg2(){
170159
uint8_t V[32] = {0x55,0x18,0x8b,0x3d,0x32,0xf6,0xbb,0x9a,0x90,0x0a,0xfc,0xfb,0xee,0xd4,0xe7,0x2a,0x59,0xcb,0x9a,0xc2,0xf1,0x9d,0x7c,0xfb,0x6b,0x4f,0xdd,0x49,0xf4,0x7f,0xc5,0xfd};
171160
uint8_t X[16] = {0xd5,0xcb,0x84,0x54,0xd1,0x77,0x73,0x3e,0xff,0xff,0xb2,0xec,0x71,0x2b,0xae,0xab};
172161
uint8_t Y[16] = {0xa6,0xe8,0xe7,0xcc,0x25,0xa7,0x5f,0x6e,0x21,0x65,0x83,0xf7,0xff,0x3d,0xc4,0xcf};
173-
uint8_t AES[16] = {0x15,0x36,0xd1,0x8d,0xe3,0xd2,0x0d,0xf9,0x9b,0x70,0x44,0xc1,0x2f,0x9e,0xd5,0xba};
174162
uint8_t out[4];
175163

176164

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy