[examples] fix potential unaligned pointer value (#4323)

Fixes applied to cc1352, cc2650, and cc2652 platforms.
This commit is contained in:
Jonathan Hui
2019-11-15 00:29:06 +01:00
parent 5af6b23e5f
commit 9e9f506329
3 changed files with 24 additions and 18 deletions
+8 -6
View File
@@ -1575,14 +1575,15 @@ otError otPlatRadioAddSrcMatchExtEntry(otInstance *aInstance, const otExtAddress
{
OT_UNUSED_VARIABLE(aInstance);
otError error = OT_ERROR_NONE;
uint8_t idx = rfCoreFindExtSrcMatchIdx((uint64_t *)aExtAddress);
otError error = OT_ERROR_NONE;
uint64_t extAddress = *(uint64_t *)aExtAddress;
uint8_t idx = rfCoreFindExtSrcMatchIdx(&extAddress);
if (idx == CC1352_SRC_MATCH_NONE)
{
/* the entry does not exist already, add it */
otEXPECT_ACTION((idx = rfCoreFindEmptyExtSrcMatchIdx()) != CC1352_SRC_MATCH_NONE, error = OT_ERROR_NO_BUFS);
sSrcMatchExtData.extAddrEnt[idx] = *((uint64_t *)aExtAddress);
sSrcMatchExtData.extAddrEnt[idx] = extAddress;
}
if (sReceiveCmd.status == ACTIVE || sReceiveCmd.status == IEEE_SUSPENDED)
@@ -1608,10 +1609,11 @@ otError otPlatRadioClearSrcMatchExtEntry(otInstance *aInstance, const otExtAddre
{
OT_UNUSED_VARIABLE(aInstance);
otError error = OT_ERROR_NONE;
uint8_t idx;
otError error = OT_ERROR_NONE;
uint64_t extAddress = *(uint64_t *)aExtAddress;
uint8_t idx;
otEXPECT_ACTION((idx = rfCoreFindExtSrcMatchIdx((uint64_t *)aExtAddress)) != CC1352_SRC_MATCH_NONE,
otEXPECT_ACTION((idx = rfCoreFindExtSrcMatchIdx(&extAddress)) != CC1352_SRC_MATCH_NONE,
error = OT_ERROR_NO_ADDRESS);
if (sReceiveCmd.status == ACTIVE || sReceiveCmd.status == IEEE_SUSPENDED)
+8 -6
View File
@@ -1526,14 +1526,15 @@ otError otPlatRadioAddSrcMatchExtEntry(otInstance *aInstance, const otExtAddress
{
OT_UNUSED_VARIABLE(aInstance);
otError error = OT_ERROR_NONE;
uint8_t idx = rfCoreFindExtSrcMatchIdx((uint64_t *)aExtAddress);
otError error = OT_ERROR_NONE;
uint64_t extAddress = *(uint64_t *)aExtAddress;
uint8_t idx = rfCoreFindExtSrcMatchIdx(&extAddress);
if (idx == CC2650_SRC_MATCH_NONE)
{
/* the entry does not exist already, add it */
otEXPECT_ACTION((idx = rfCoreFindEmptyExtSrcMatchIdx()) != CC2650_SRC_MATCH_NONE, error = OT_ERROR_NO_BUFS);
sSrcMatchExtData.extAddrEnt[idx] = *((uint64_t *)aExtAddress);
sSrcMatchExtData.extAddrEnt[idx] = extAddress;
}
if (sReceiveCmd.status == ACTIVE || sReceiveCmd.status == IEEE_SUSPENDED)
@@ -1559,10 +1560,11 @@ otError otPlatRadioClearSrcMatchExtEntry(otInstance *aInstance, const otExtAddre
{
OT_UNUSED_VARIABLE(aInstance);
otError error = OT_ERROR_NONE;
uint8_t idx;
otError error = OT_ERROR_NONE;
uint64_t extAddress = *(uint64_t *)aExtAddress;
uint8_t idx;
otEXPECT_ACTION((idx = rfCoreFindExtSrcMatchIdx((uint64_t *)aExtAddress)) != CC2650_SRC_MATCH_NONE,
otEXPECT_ACTION((idx = rfCoreFindExtSrcMatchIdx(&extAddress)) != CC2650_SRC_MATCH_NONE,
error = OT_ERROR_NO_ADDRESS);
if (sReceiveCmd.status == ACTIVE || sReceiveCmd.status == IEEE_SUSPENDED)
+8 -6
View File
@@ -1556,14 +1556,15 @@ otError otPlatRadioAddSrcMatchExtEntry(otInstance *aInstance, const otExtAddress
{
OT_UNUSED_VARIABLE(aInstance);
otError error = OT_ERROR_NONE;
uint8_t idx = rfCoreFindExtSrcMatchIdx((uint64_t *)aExtAddress);
otError error = OT_ERROR_NONE;
uint64_t extAddress = *(uint64_t *)aExtAddress;
uint8_t idx = rfCoreFindExtSrcMatchIdx(&extAddress);
if (idx == CC2652_SRC_MATCH_NONE)
{
/* the entry does not exist already, add it */
otEXPECT_ACTION((idx = rfCoreFindEmptyExtSrcMatchIdx()) != CC2652_SRC_MATCH_NONE, error = OT_ERROR_NO_BUFS);
sSrcMatchExtData.extAddrEnt[idx] = *((uint64_t *)aExtAddress);
sSrcMatchExtData.extAddrEnt[idx] = extAddress;
}
if (sReceiveCmd.status == ACTIVE || sReceiveCmd.status == IEEE_SUSPENDED)
@@ -1589,10 +1590,11 @@ otError otPlatRadioClearSrcMatchExtEntry(otInstance *aInstance, const otExtAddre
{
OT_UNUSED_VARIABLE(aInstance);
otError error = OT_ERROR_NONE;
uint8_t idx;
otError error = OT_ERROR_NONE;
uint64_t extAddress = *(uint64_t *)aExtAddress;
uint8_t idx;
otEXPECT_ACTION((idx = rfCoreFindExtSrcMatchIdx((uint64_t *)aExtAddress)) != CC2652_SRC_MATCH_NONE,
otEXPECT_ACTION((idx = rfCoreFindExtSrcMatchIdx(&extAddress)) != CC2652_SRC_MATCH_NONE,
error = OT_ERROR_NO_ADDRESS);
if (sReceiveCmd.status == ACTIVE || sReceiveCmd.status == IEEE_SUSPENDED)