[PATCH] D24490: [asan] Add another use cases can we previously get false reports

Vitaly Buka via llvm-commits llvm-commits at lists.llvm.org
Thu Sep 15 18:26:18 PDT 2016


vitalybuka updated this revision to Diff 71587.
vitalybuka added a comment.

Disable test


https://reviews.llvm.org/D24490

Files:
  test/asan/TestCases/use-after-scope-goto.c
  test/asan/TestCases/use-after-scope-goto.cc

Index: test/asan/TestCases/use-after-scope-goto.cc
===================================================================
--- /dev/null
+++ test/asan/TestCases/use-after-scope-goto.cc
@@ -0,0 +1,54 @@
+// RUN: %clangxx_asan -O0 -fsanitize-address-use-after-scope %s -o %t
+
+// Function jumps over variable initialization making lifetime analysis
+// ambiguous. Asan should ignore such variable and program must not fail.
+
+#include <stdlib.h>
+
+int *ptr;
+
+void f1(int cond) {
+  if (cond)
+    goto label;
+  int tmp;
+
+ label:
+  ptr = &tmp;
+  *ptr = 5;
+}
+
+void f2(int cond) {
+  switch (cond) {
+  case 1: {
+    ++cond;
+    int tmp;
+    ptr = &tmp;
+    exit(0);
+  case 2:
+    ptr = &tmp;
+    *ptr = 5;
+    exit(0);
+  }
+  }
+}
+
+void f3(int cond) {
+  {
+    int tmp;
+    goto l2;
+  l1:
+    ptr = &tmp;
+    *ptr = 5;
+
+    exit(0);
+  }
+ l2:
+  goto l1;
+}
+
+int main() {
+  f1(1);
+  f2(1);
+  f3(1);
+  return 0;
+}
Index: test/asan/TestCases/use-after-scope-goto.c
===================================================================
--- test/asan/TestCases/use-after-scope-goto.c
+++ /dev/null
@@ -1,21 +0,0 @@
-// RUN: %clang_asan -O0 -fsanitize-address-use-after-scope %s -o %t && %run %t
-
-// Function jumps over variable initialization making lifetime analysis
-// ambiguous. Asan should ignore such variable and program must not fail.
-
-int *ptr;
-
-void f(int cond) {
-  if (cond)
-    goto label;
-  int tmp = 1;
-
-label:
-  ptr = &tmp;
-  *ptr = 5;
-}
-
-int main() {
-  f(1);
-  return 0;
-}


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D24490.71587.patch
Type: text/x-patch
Size: 1533 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160916/b8ab2afc/attachment.bin>


More information about the llvm-commits mailing list