taint-tester.c revision 447375500b03f208ebac7303364106c530e2a9b3
1// RUN: %clang_cc1  -analyze -analyzer-checker=experimental.security.taint,debug.TaintTest -verify %s
2
3int scanf(const char *restrict format, ...);
4int getchar(void);
5
6#define BUFSIZE 10
7int Buffer[BUFSIZE];
8
9void bufferScanfAssignment(int x) {
10  int n;
11  int *addr = &Buffer[0];
12  scanf("%d", &n);
13  addr += n;// expected-warning {{tainted}}
14  *addr = n; // expected-warning 2 {{tainted}}
15}
16