summaryrefslogtreecommitdiffstats
path: root/clang/test/Analysis/taint-tester.c
diff options
context:
space:
mode:
authorAnna Zaks <ganna@apple.com>2011-12-14 00:55:58 +0000
committerAnna Zaks <ganna@apple.com>2011-12-14 00:55:58 +0000
commitd6bb3227de1af821261b631b63812369f789b675 (patch)
tree58ec081358566c43690b0a6d81e1adeba9ab85e1 /clang/test/Analysis/taint-tester.c
parent8f92ce6e39086ffed1c3f93187e2e1b64bb7b49f (diff)
downloadbcm5719-llvm-d6bb3227de1af821261b631b63812369f789b675.tar.gz
bcm5719-llvm-d6bb3227de1af821261b631b63812369f789b675.zip
[analyzer] Mark getenv output as tainted.
Also, allow adding taint to a region (not only a symbolic value). llvm-svn: 146532
Diffstat (limited to 'clang/test/Analysis/taint-tester.c')
-rw-r--r--clang/test/Analysis/taint-tester.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/clang/test/Analysis/taint-tester.c b/clang/test/Analysis/taint-tester.c
index da1ff024d10..7e2d7717587 100644
--- a/clang/test/Analysis/taint-tester.c
+++ b/clang/test/Analysis/taint-tester.c
@@ -70,3 +70,13 @@ void BitwiseOp(int in, char inn) {
m = inn;
int mm = m; // expected-warning {{tainted}}
}
+
+// Test getenv.
+char *getenv(const char *name);
+void getenvTest(char *home) {
+ home = getenv("HOME"); // expected-warning 2 {{tainted}}
+ if (home != 0) { // expected-warning 2 {{tainted}}
+ char d = home[0]; // expected-warning 2 {{tainted}}
+ }
+}
+
OpenPOWER on IntegriCloud