问题描述
我的源代码中有一个经典的以太网MAC地址代码:
#define NETIF_MAX_HWADDR_LEN 6U
u8_t hwaddr[NETIF_MAX_HWADDR_LEN];
编辑:
{{1}}
我该如何解决?
解决方法
MISRA检查器说您越界访问数组,显然也是如此:
#define NETIF_MAX_HWADDR_LEN 5U
u8_t hwaddr[NETIF_MAX_HWADDR_LEN];
...
netif->hwaddr[5] = heth.Init.MACAddr[5];
数组在C语言中的索引为0。通过不声明太小的数组来解决此问题。