Reverting r242787 ("[asan] Fix the freopen interceptor to allow NULL instead of a...
authorKuba Brecka <kuba.brecka@gmail.com>
Tue, 21 Jul 2015 15:27:40 +0000 (15:27 +0000)
committerKuba Brecka <kuba.brecka@gmail.com>
Tue, 21 Jul 2015 15:27:40 +0000 (15:27 +0000)
llvm-svn: 242791

compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
compiler-rt/test/asan/TestCases/Posix/freopen.cc

index 6ff0ae1..c7dc475 100644 (file)
@@ -4671,7 +4671,7 @@ INTERCEPTOR(__sanitizer_FILE *, freopen, const char *path, const char *mode,
             __sanitizer_FILE *fp) {
   void *ctx;
   COMMON_INTERCEPTOR_ENTER(ctx, freopen, path, mode, fp);
-  if (path) COMMON_INTERCEPTOR_READ_RANGE(ctx, path, REAL(strlen)(path) + 1);
+  COMMON_INTERCEPTOR_READ_RANGE(ctx, path, REAL(strlen)(path) + 1);
   COMMON_INTERCEPTOR_READ_RANGE(ctx, mode, REAL(strlen)(mode) + 1);
   COMMON_INTERCEPTOR_FILE_CLOSE(ctx, fp);
   __sanitizer_FILE *res = REAL(freopen)(path, mode, fp);
@@ -4702,7 +4702,7 @@ INTERCEPTOR(__sanitizer_FILE *, freopen64, const char *path, const char *mode,
             __sanitizer_FILE *fp) {
   void *ctx;
   COMMON_INTERCEPTOR_ENTER(ctx, freopen64, path, mode, fp);
-  if (path) COMMON_INTERCEPTOR_READ_RANGE(ctx, path, REAL(strlen)(path) + 1);
+  COMMON_INTERCEPTOR_READ_RANGE(ctx, path, REAL(strlen)(path) + 1);
   COMMON_INTERCEPTOR_READ_RANGE(ctx, mode, REAL(strlen)(mode) + 1);
   COMMON_INTERCEPTOR_FILE_CLOSE(ctx, fp);
   __sanitizer_FILE *res = REAL(freopen64)(path, mode, fp);
index d2cd853..e69de29 100644 (file)
@@ -1,12 +0,0 @@
-// RUN: %clangxx_asan -O0 %s -o %t && %run %t
-
-#include <assert.h>
-#include <stdio.h>
-
-int main() {
-  FILE *fp = fopen("/dev/null", "w");
-  assert(fp);
-  freopen(NULL, "a", fp);
-  fclose(fp);
-  return 0;
-}