[PATCH] D42884: Prevent recursive MSan interceptors in fgets(3)

Kamil Rytarowski via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sat Feb 3 10:12:26 PST 2018


krytarowski created this revision.
krytarowski added reviewers: joerg, eugenis, vitalybuka.
krytarowski added a project: Sanitizers.

This corrects intercepting this call on NetBSD without false positives.

Sponsored by <The NetBSD Foundation>


Repository:
  rL LLVM

https://reviews.llvm.org/D42884

Files:
  lib/msan/msan_interceptors.cc


Index: lib/msan/msan_interceptors.cc
===================================================================
--- lib/msan/msan_interceptors.cc
+++ lib/msan/msan_interceptors.cc
@@ -779,6 +779,7 @@
 
 INTERCEPTOR(char *, fgets, char *s, int size, void *stream) {
   ENSURE_MSAN_INITED();
+  InterceptorScope interceptor_scope;
   char *res = REAL(fgets)(s, size, stream);
   if (res)
     __msan_unpoison(s, REAL(strlen)(s) + 1);


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D42884.132744.patch
Type: text/x-patch
Size: 425 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180203/fd670ead/attachment.bin>


More information about the llvm-commits mailing list