diff --git a/test/Analysis/taint-tester.c b/test/Analysis/taint-tester.c index 85a59c50ae35c1aa3710208409b247d6669c4e6a..02afe6d4f22c7421603694941f27a273f5136974 100644 --- a/test/Analysis/taint-tester.c +++ b/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}} + }