Commit Graph

24 Commits

Author SHA1 Message Date
Evgeniy Stepanov 460067823b [sanitizer] Interceptors for wait*.
llvm-svn: 179096
2013-04-09 14:34:59 +00:00
Evgeniy Stepanov 69967c2835 [msan] Intercept glob() with tests.
llvm-svn: 179091
2013-04-09 11:35:13 +00:00
Chandler Carruth 2b3c00eec7 Revert r179012: "[msan] Intercept glob()."
This was committed without tests and contains obvious bugs. That's not
acceptable. It broke address sanitizer for most programs using glob(3).

llvm-svn: 179054
2013-04-08 20:59:44 +00:00
Evgeniy Stepanov 8cd707a1a6 [msan] Intercept glob().
llvm-svn: 179012
2013-04-08 09:03:00 +00:00
Evgeniy Stepanov e20c780aaf [tsan] Fix build.
llvm-svn: 179008
2013-04-08 08:46:25 +00:00
Evgeniy Stepanov 7ba7207f1d [msan] Intercept time().
llvm-svn: 179002
2013-04-08 08:25:22 +00:00
Evgeniy Stepanov f8213b4eb3 [sanitizer] More interceptors.
getpwnam, getpwuid, getpwnam_r, getpwuid_r, clock_getres, clock_gettime,
clock_settime, getitimer, setitimer, sigaction (MSan).

llvm-svn: 178465
2013-04-01 14:47:21 +00:00
Dmitry Vyukov 6f4b34bcf4 asan/tsan: move strcasecmp() interceptor to sanitizer_common
llvm-svn: 178010
2013-03-26 12:40:23 +00:00
Evgeniy Stepanov 95eaa21637 [sanitizer] More renamed macros.
llvm-svn: 177401
2013-03-19 14:54:17 +00:00
Alexey Samsonov 3a6b6b9d55 [Sanitizer] Don't intercept frexpf and frexpl on Windows. Add frexp declaration to asan_intercepted_functions.h
llvm-svn: 177155
2013-03-15 14:02:21 +00:00
Evgeniy Stepanov 231894a902 [sanitizer] Intercept frexp and friends.
llvm-svn: 177056
2013-03-14 11:34:39 +00:00
Alexander Potapenko 56821acc79 [ASan] Make isoc99_*scanf intercepted on Linux only. Those are unavailable on Darwin.
llvm-svn: 175629
2013-02-20 15:27:58 +00:00
Evgeniy Stepanov ec1d286111 [sanitizer] Fix lint.
llvm-svn: 175615
2013-02-20 11:06:07 +00:00
Evgeniy Stepanov ea61d08185 [sanitizer] Add interceptors for localtime and friends.
llvm-svn: 175499
2013-02-19 09:19:16 +00:00
Evgeniy Stepanov b5ec3a2d55 [sanitizer] More accurate scanf parsing without GNU extensions.
In __isoc99_*scanf we don't have to worry about GNUisms, and can parse
%a accurately.

Patch by Jakub Jelinek.

llvm-svn: 174969
2013-02-12 14:29:34 +00:00
Evgeniy Stepanov 5fa8fb7d91 [sanitizer] Intercept __isoc99_*scanf.
llvm-svn: 174960
2013-02-12 11:34:52 +00:00
Evgeniy Stepanov 154faa6ded [sanitizer] clang-format pass over scanf code.
llvm-svn: 174888
2013-02-11 15:22:34 +00:00
Evgeniy Stepanov 455c72d25e [sanitizer] scanf: don't report stores that did not happen.
Respect REAL(scanf) return value and don't report memory stores that
could potentially happen, but did not.

llvm-svn: 174887
2013-02-11 15:16:48 +00:00
Evgeniy Stepanov 5eb25e8d39 [sanitizer] Remove an extra va_copy.
llvm-svn: 174883
2013-02-11 14:08:12 +00:00
Evgeniy Stepanov 87c43537df [sanitizer] Improve scanf interceptor
This a rewrite of the scanf parser. The new implementation is pretty close to
the spec, with a few shortcuts taken here and there. It is conservative, i.e.
it gives up parsing if it does not understand some part of the format string,
or runs into an ambiguous % spec. It does not handle some rarely used parts of
the spec, like %n$ - for now.

I'm also moving parser call to after the original *scanf function completes,
so that we can find out the store size of %s directive by the use of strlen()
on the target buffer.

llvm-svn: 174704
2013-02-08 11:17:20 +00:00
Dmitry Vyukov 0ced85a8c7 asan/tsan: fix pwrite interceptors
llvm-svn: 173328
2013-01-24 07:44:21 +00:00
Dmitry Vyukov 5787924e85 tsan: add missing interceptors
llvm-svn: 173253
2013-01-23 11:52:19 +00:00
Evgeniy Stepanov c8cde8d736 [sanitizer] Enable cpplint for .inc files.
llvm-svn: 172825
2013-01-18 15:53:43 +00:00
Evgeniy Stepanov a6c4a387ee [sanitizer] Rename 2 files *.h->*.inc as appropriate.
Also add a missing include.

llvm-svn: 172814
2013-01-18 13:01:18 +00:00