Other Parts Discussed in Thread: SYSCONFIG
器件型号:MCU-PLUS-SDK AM263X-AM263X
主题: SysConfig 中讨论的其他器件
函数 CANFD_isDataSizeValid () 包含可能导致越界存储器访问的实现错误。
int32_t CANFD_isDataSizeValid (uint32_t dataSize)
{
uint32_t canfdDataSize[CANFD_MAX_DLC_mapping ]=
{0U、1U、2U、3U、4U、 5U、6U、7U、8U、
12U、16U、20U、24U、32U、 48u、64u};
返回 SystemP_FAILURE;
以下是该功能的正确实现:
int32_t CANFD_isDataSizeValid (uint32_t dataSize)
{
uint32_t canfdDataSize[CANFD_MAX_DLC_mapping ]=
{0U、1U、2U、3U、4U、 5U、6U、7U、8U、
12U、16U、20U、24U、32U、 48u、64u};
if ((canfdDataSize[0U]== dataSize)||
(canfdDataSize[1U]== dataSize)||
(canfdDataSize[CU]== dataSize)||
(canfdDataSize[3U]== dataSize)||
(canfdDataSize[4U]== dataSize)||
(canfdDataSize[5U]== dataSize)||
(canfdDataSize(6U]== dataSize)||
(canfdDataSize[7U]== dataSize)||
(canfdDataSize[8U]== dataSize)||
(canfdDataSize[9U]== dataSize)||
(canfdDataSize[10U]== dataSize)||
(canfdDataSize[11U]== dataSize)||
(canfdDataSize[12U]== dataSize)||
(canfdDataSize[13U]== dataSize)||
(canfdDataSize[14U]== dataSize)||
(canfdDataSize[15U]== dataSize))
{
返回 SystemP_Success;
}
返回 SystemP_FAILURE;
}

