MachinE649 2022-07-11 17:18 采纳率: 100%
浏览 285
已结题

C6386 写入到缓冲区溢出

img

img

在这个案例中,我有一个想法不知道对不对,计算机无法判断newsize的数组和newspace的数组谁大谁小,所以报错。newspace的大小在32位系统下可能默认为4个字节,但是newsize这个数组的大小计算机并不确定,也就是报错原话上面写着的"但可能写入一个16字节或者8字节"。想着能不能用一个if来解决?

希望能解释一下底层的逻辑。

  • 写回答

1条回答 默认 最新

  • flower980323 2022-07-11 17:48
    关注

    这个警告应该是无法判断newSize+4和m_EmpNum的大小比较,在for循环时可能越界,参考https://blog.csdn.net/weixin_52189903/article/details/121205822
    如有帮助,请采纳,谢谢。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 7月20日
  • 已采纳回答 7月12日
  • 创建了问题 7月11日