[analyzer] Fixup for r146793. Add tests for atol and atoll.
authorAnna Zaks <ganna@apple.com>
Sat, 17 Dec 2011 00:30:16 +0000 (00:30 +0000)
committerAnna Zaks <ganna@apple.com>
Sat, 17 Dec 2011 00:30:16 +0000 (00:30 +0000)
llvm-svn: 146794

clang/test/Analysis/taint-tester.c

index 85a59c5..02afe6d 100644 (file)
@@ -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}}
+
 }