未完整访问的数组
在范围结束之前部分读取或写入数组
描述
当数组在数组范围结束之前被部分读取或写入时,会发生此缺陷。对于函数中的局部数组,当函数结束时,其作用域也结束。
风险
部分访问的数组通常表明编码中存在遗漏。例如,当使用循环对数组进行排序时,您使用了多次循环迭代,因此一个数组元素从未被读取。实现可能会导致数组未完全排序。
修复
修复方法取决于缺陷的根本原因。例如,如果根本原因是循环的迭代次数不正确,请更改循环边界或在循环后添加一个步骤以访问未读或未写的元素。
请参阅以下修复示例。
如果您不想修复问题,请在结果或代码中添加注释,以免再次被审查。请参阅:
通过 Bug 修复或申述在 Polyspace 用户界面中处理结果 在 Polyspace 用户界面中审查结果时。
通过 Bug 修复或申述在 Polyspace Access 中处理结果 (Polyspace Access)(如果您在 Web 浏览器中审查结果)。
为代码添加注解并隐藏已知或可接受的结果 在 IDE 中审查结果时。
示例
结果信息
| 组:数据流 |
| 语言:C | C++ |
| 默认值:手写代码时为启动,生成代码时为关闭 |
命令行语法:PARTIALLY_ACCESSED_ARRAY |
| 影响:低 |
版本历史记录
在 R2013b 中推出
另请参阅
主题
- 解释 Polyspace 桌面端用户界面中的 Bug Finder 结果
- 解释 Polyspace Access Web 界面中的 Bug Finder 结果 (Polyspace Access)
- 通过 Bug 修复或申述在 Polyspace 用户界面中处理结果
- 通过 Bug 修复或申述在 Polyspace Access 中处理结果 (Polyspace Access)