Skip to content

Commit 6b0c86e

Browse files
Merge pull request #35 from WebPlatformForEmbedded/fix/bluetooth-driver-array-out-of-bounds
2 parents 2782bed + 2818136 commit 6b0c86e

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

Source/bluetooth/drivers/BCM43XX.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -271,12 +271,12 @@ namespace Bluetooth {
271271
uint32_t MACAddress(const uint8_t length, const uint8_t address[])
272272
{
273273
uint8_t data[6];
274+
::memset(data, 0, sizeof(data));
274275
::memcpy(data, address, std::min(length, static_cast<uint8_t>(sizeof(data))));
275-
::memset(&(data[length]), 0, sizeof(data) - std::min(length, static_cast<uint8_t>(sizeof(data))));
276276
const uint16_t command = cmd_opcode_pack(OGF_VENDOR_CMD, BCM43XX_WRITE_LOCAL_ADDRESS);
277277

278278
Exchange::Response response(Exchange::COMMAND_PKT, command);
279-
uint32_t result = Exchange(Exchange::Request(Exchange::COMMAND_PKT, command, sizeof(data), address), response, 500);
279+
uint32_t result = Exchange(Exchange::Request(Exchange::COMMAND_PKT, command, sizeof(data), data), response, 500);
280280

281281
if ((result == Core::ERROR_NONE) && (response[3] != CMD_SUCCESS)) {
282282
TRACE_L1("Failed to set the MAC address\n");

0 commit comments

Comments
 (0)