actionscript-3 - 大小为 -1 的向量会导致 Flash 播放器崩溃且没有错误处理

标签 actionscript-3 flash vector crash runtime-error

我今天在 Flash Player 11 中发现了一个有趣的错误。它也可能存在于其他版本中。我可以用一行代码立即使 Flash 播放器浏览器崩溃,不会抛出任何运行时错误,并且如果启用了调试跟踪,则仅显示一条消息退出:“错误:内存不足”。

构造一个大小为-1的向量。

var vector:Vector.<int> = new Vector.<int>(-1);

噗,你的整个应用程序都放弃了。数组至少会抛出“越界”的运行时错误。这怎么不被抓到呢?由于它未经处理,是否会导致漏洞利用?

还有人遇到过这种情况吗? 我在11.4.31.110和11.2.202.235版本中测试过

最佳答案

可能是因为构造函数需要一个无符号整数(仅限正数)。

将 -1 转换为 unsigned int 会产生 4,294,967,295,这将使内存不足错误更有意义。提交错误报告可能是有意义的。否则,不要这样做:)

关于actionscript-3 - 大小为 -1 的向量会导致 Flash 播放器崩溃且没有错误处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12904201/

相关文章:

c++ - 从c++中的 vector 生成随机数

java - 通过矩阵平移 vector

c++ - 如何重置函数内的静态 vector ?

apache-flex - Flex Viewstack 的 child ,如果你看不到他们,他们存在吗?

flash - 有没有办法让Flash强制静态类型?

actionscript-3 - 如何在AS3中缓存音频流数据并访问它

javascript - 鼠标滚轮在 swf 中不起作用(浏览器 chrome)

actionscript-3 - 使用 adobe flash 将外部 swf 加载到 bytearray

flash - 为什么位图的性能优于矢量、as3?

Flash AS3 - 我如何才能知道当前正在加载的所有加载程序何时完成。