char imei_temp[14] = {0, };
strcpy(imei_temp, "00000000000000");
根据我的理解,这是有效的代码。
但是Klocwork说的是缓冲区溢出,' imei_temp
'的数组索引。可能是出界的。数组' imei_temp
'大小为14的可以使用索引值0..14
答案 0 :(得分:13)
这是一个缓冲区溢出,因为你的缓冲区是14个字节,但你写的是15个字节:14个ascii“0”,最后是一个空字节。
答案 1 :(得分:3)
当您使用"
指定字符串时,它会在字符串末尾添加隐式\0
,您尝试将15个字节复制到14字节缓冲区。
请注意,使用'
指定字符时不会发生这种情况。