diff options
| author | Anna Zaks <ganna@apple.com> | 2011-11-28 20:43:40 +0000 |
|---|---|---|
| committer | Anna Zaks <ganna@apple.com> | 2011-11-28 20:43:40 +0000 |
| commit | ff029b695397697090a054bc0f58607a03212be3 (patch) | |
| tree | b9847415418fcce27f7bb707d9f50b70fe3bbe6a /clang/test/Analysis/taint-generic.c | |
| parent | 951d205aec2f318c09225bc571386326234c953d (diff) | |
| download | bcm5719-llvm-ff029b695397697090a054bc0f58607a03212be3.tar.gz bcm5719-llvm-ff029b695397697090a054bc0f58607a03212be3.zip | |
[analyzer] Add more simple taint tests.
llvm-svn: 145275
Diffstat (limited to 'clang/test/Analysis/taint-generic.c')
| -rw-r--r-- | clang/test/Analysis/taint-generic.c | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/clang/test/Analysis/taint-generic.c b/clang/test/Analysis/taint-generic.c index 54229937d14..eeec8869b02 100644 --- a/clang/test/Analysis/taint-generic.c +++ b/clang/test/Analysis/taint-generic.c @@ -6,7 +6,7 @@ int getchar(void); #define BUFSIZE 10 int Buffer[BUFSIZE]; -void bufferFoo1(void) +void bufferScanfDirect(void) { int n; scanf("%d", &n); @@ -23,11 +23,26 @@ void bufferScanfArithmetic1(int x) { void bufferScanfArithmetic2(int x) { int n; scanf("%d", &n); - int m = (n + 3) * x; + int m = 100 / (n + 3) * x; Buffer[m] = 1; // expected-warning {{Out of bound memory access }} } +void bufferScanfAssignment(int x) { + int n; + scanf("%d", &n); + int m; + if (x > 0) { + m = n; + Buffer[m] = 1; // expected-warning {{Out of bound memory access }} + } +} + void scanfArg() { int t; scanf("%d", t); // expected-warning {{Pointer argument is expected}} } + +void bufferGetchar(int x) { + int m = getchar(); + Buffer[m] = 1; //expected-warning {{Out of bound memory access }} +} |

