一段代码
DWORD dwIndex = INVALID; // 65535
…
DoSomething(*dwIndex); //正常情况下取出索引,异常情况下把index复位成INVALID
dwOhter = adwArray[dwIndex]; // 数组没有大到65535,上面函数异常返回可控,但是这里就溢出了,程序当掉。
本文探讨了在使用DWORD变量作为数组索引时遇到的溢出问题。详细分析了一个示例场景:当DWORD变量被设置为一个特殊值(65535),用作数组索引时导致的程序崩溃现象,并讨论了如何避免此类错误。
一段代码
DWORD dwIndex = INVALID; // 65535
…
DoSomething(*dwIndex); //正常情况下取出索引,异常情况下把index复位成INVALID
dwOhter = adwArray[dwIndex]; // 数组没有大到65535,上面函数异常返回可控,但是这里就溢出了,程序当掉。
208

被折叠的 条评论
为什么被折叠?