[PATCH] D56157: [sanitizer_common] Implement popen, popenve, pclose interceptors

Michał Górny via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Sat Dec 29 14:22:00 PST 2018


mgorny created this revision.
mgorny added reviewers: krytarowski, vitalybuka.
Herald added subscribers: Sanitizers, llvm-commits, kubamracek.

Implement the interceptors for popen(), pclose() and popenve()
functions.  The first two are POSIX, the third one is specific
to NetBSD.  popen() spawns a process and creates a FILE object piping
data from/to that process.  pclose() closes the pipe and waits for
the process to terminate appropriately.

For the purpose of popen(), a new COMMON_INTERCEPTOR_PIPE_OPEN macro is
added that is like COMMON_INTERCEPTOR_FILE_OPEN, except it is passed
the new FILE* and no path.


Repository:
  rCRT Compiler Runtime

https://reviews.llvm.org/D56157

Files:
  lib/esan/esan_interceptors.cpp
  lib/sanitizer_common/sanitizer_common_interceptors.inc
  lib/sanitizer_common/sanitizer_platform_interceptors.h
  lib/tsan/rtl/tsan_interceptors.cc

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D56157.179709.patch
Type: text/x-patch
Size: 5287 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20181229/1a7ac2c9/attachment.bin>


More information about the cfe-commits mailing list