summaryrefslogtreecommitdiffstats
path: root/clang/test/Analysis/taint-generic.c
diff options
context:
space:
mode:
Diffstat (limited to 'clang/test/Analysis/taint-generic.c')
-rw-r--r--clang/test/Analysis/taint-generic.c19
1 files changed, 17 insertions, 2 deletions
diff --git a/clang/test/Analysis/taint-generic.c b/clang/test/Analysis/taint-generic.c
index 54229937d14..eeec8869b02 100644
--- a/clang/test/Analysis/taint-generic.c
+++ b/clang/test/Analysis/taint-generic.c
@@ -6,7 +6,7 @@ int getchar(void);
#define BUFSIZE 10
int Buffer[BUFSIZE];
-void bufferFoo1(void)
+void bufferScanfDirect(void)
{
int n;
scanf("%d", &n);
@@ -23,11 +23,26 @@ void bufferScanfArithmetic1(int x) {
void bufferScanfArithmetic2(int x) {
int n;
scanf("%d", &n);
- int m = (n + 3) * x;
+ int m = 100 / (n + 3) * x;
Buffer[m] = 1; // expected-warning {{Out of bound memory access }}
}
+void bufferScanfAssignment(int x) {
+ int n;
+ scanf("%d", &n);
+ int m;
+ if (x > 0) {
+ m = n;
+ Buffer[m] = 1; // expected-warning {{Out of bound memory access }}
+ }
+}
+
void scanfArg() {
int t;
scanf("%d", t); // expected-warning {{Pointer argument is expected}}
}
+
+void bufferGetchar(int x) {
+ int m = getchar();
+ Buffer[m] = 1; //expected-warning {{Out of bound memory access }}
+}
OpenPOWER on IntegriCloud