[compiler-rt] r208772 - [libsanitizer] Notify the runtime about file being closed before the actual call to fclose().
Alexander Potapenko
glider at google.com
Wed May 14 04:48:38 PDT 2014
Author: glider
Date: Wed May 14 06:48:37 2014
New Revision: 208772
URL: http://llvm.org/viewvc/llvm-project?rev=208772&view=rev
Log:
[libsanitizer] Notify the runtime about file being closed before the actual call to fclose().
This shall fix spurious false positive race reports between fclose() and fopen64().
Modified:
compiler-rt/trunk/lib/sanitizer_common/sanitizer_common_interceptors.inc
Modified: compiler-rt/trunk/lib/sanitizer_common/sanitizer_common_interceptors.inc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/sanitizer_common/sanitizer_common_interceptors.inc?rev=208772&r1=208771&r2=208772&view=diff
==============================================================================
--- compiler-rt/trunk/lib/sanitizer_common/sanitizer_common_interceptors.inc (original)
+++ compiler-rt/trunk/lib/sanitizer_common/sanitizer_common_interceptors.inc Wed May 14 06:48:37 2014
@@ -4023,7 +4023,6 @@ INTERCEPTOR(int, fflush, __sanitizer_FIL
INTERCEPTOR(int, fclose, __sanitizer_FILE *fp) {
void *ctx;
COMMON_INTERCEPTOR_ENTER(ctx, fclose, fp);
- int res = REAL(fclose)(fp);
if (fp) {
COMMON_INTERCEPTOR_FILE_CLOSE(ctx, fp);
const FileMetadata *m = GetInterceptorMetadata(fp);
@@ -4032,7 +4031,7 @@ INTERCEPTOR(int, fclose, __sanitizer_FIL
DeleteInterceptorMetadata(fp);
}
}
- return res;
+ return REAL(fclose)(fp);
}
#define INIT_FCLOSE COMMON_INTERCEPT_FUNCTION(fclose);
#else
More information about the llvm-commits
mailing list