]> granicus.if.org Git - clang/commit
[analyzer] Add VforkChecker to find unsafe code in vforked process.
authorYury Gribov <y.gribov@samsung.com>
Fri, 6 Nov 2015 11:16:31 +0000 (11:16 +0000)
committerYury Gribov <y.gribov@samsung.com>
Fri, 6 Nov 2015 11:16:31 +0000 (11:16 +0000)
commit2defbb317972aee45b2bf096bf48284c98a00bca
tree1a3757b1f2c1ec3cb34f4ff3a09c733dad938ecb
parent4ac74f807fe9b1b4c1b5f5b10917f269475bc449
[analyzer] Add VforkChecker to find unsafe code in vforked process.

This checker looks for unsafe constructs in vforked process:
function calls (excluding whitelist), memory write and returns.
This was originally motivated by a vfork-related bug in xtables package.

Patch by Yury Gribov.

Differential revision: http://reviews.llvm.org/D14014

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@252285 91177308-0d34-0410-b5e6-96231b3b80d8
include/clang/StaticAnalyzer/Core/PathSensitive/CheckerHelpers.h
lib/StaticAnalyzer/Checkers/CMakeLists.txt
lib/StaticAnalyzer/Checkers/Checkers.td
lib/StaticAnalyzer/Checkers/DereferenceChecker.cpp
lib/StaticAnalyzer/Checkers/VforkChecker.cpp [new file with mode: 0644]
lib/StaticAnalyzer/Core/CheckerHelpers.cpp
test/Analysis/Inputs/system-header-simulator.h
test/Analysis/vfork.c [new file with mode: 0644]