summaryrefslogtreecommitdiffstats
path: root/clang/test/Analysis/taint-tester.c
diff options
context:
space:
mode:
Diffstat (limited to 'clang/test/Analysis/taint-tester.c')
-rw-r--r--clang/test/Analysis/taint-tester.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/clang/test/Analysis/taint-tester.c b/clang/test/Analysis/taint-tester.c
index 85a59c50ae3..02afe6d4f22 100644
--- a/clang/test/Analysis/taint-tester.c
+++ b/clang/test/Analysis/taint-tester.c
@@ -155,7 +155,6 @@ void stdinTest3() {
// return value, ptr arguments.
int atoi(const char *nptr);
-// TODO: Add support for atol and atoll.
long atol(const char *nptr);
long long atoll(const char *nptr);
@@ -164,5 +163,17 @@ void atoiTest() {
scanf("%s", s);
int d = atoi(s); // expected-warning + {{tainted}}
int td = d; // expected-warning + {{tainted}}
+
+ // TODO: We shouldn't have to redefine the taint source here.
+ char sl[80];
+ scanf("%s", sl);
+ long l = atol(sl); // expected-warning + {{tainted}}
+ int tl = l; // expected-warning + {{tainted}}
+
+ char sll[80];
+ scanf("%s", sll);
+ long long ll = atoll(sll); // expected-warning + {{tainted}}
+ int tll = ll; // expected-warning + {{tainted}}
+
}
OpenPOWER on IntegriCloud