Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | [analyzer] Improve subscripting null arrays for catching null dereferences. | Artem Dergachev | 2017-04-24 | 1 | -8/+11 |
| | | | | | | | | | | | | | Array-to-pointer cast now works correctly when the pointer to the array is concrete, eg. null, which allows further symbolic calculations involving such values. Inlined defensive checks are now detected correctly when the resulting null symbol is being array-subscripted before dereference. Differential Revision: https://reviews.llvm.org/D32291 llvm-svn: 301251 | ||||
* | [analyzer] Improve suppression for inlined defensive checks before operator &. | Artem Dergachev | 2017-04-24 | 1 | -0/+34 |
Null dereferences are suppressed if the lvalue was constrained to 0 for the first time inside a sub-function that was inlined during analysis, because such constraint is a valid defensive check that does not, by itself, indicate that null pointer case is anyhow special for the caller. If further operations on the lvalue are performed, the symbolic lvalue is collapsed to concrete null pointer, and we need to track where does the null pointer come from. Improve such tracking for lvalue operations involving operator &. rdar://problem/27876009 Differential Revision: https://reviews.llvm.org/D31982 llvm-svn: 301224 |