- Feb 27, 2013
-
-
Alexey Samsonov authored
llvm-svn: 176183
-
Alexey Samsonov authored
[UBSan] Use common report decorator to print colorful diagnostics in UBSan, and be more consistent w/ Printf/RawWrite llvm-svn: 176182
-
Kostya Serebryany authored
ThreadLister is a Linux-specific class for obtaining the thread IDs of a process from procfs (/proc/<pid>/task/). It will be used by leak checking code. Also add several syscall wrappers which will be required by the same code that uses ThreadLister, but are not used in ThreadLister itself. Patch by Sergey Matveev llvm-svn: 176179
-
Kostya Serebryany authored
llvm-svn: 176175
-
- Feb 26, 2013
-
-
Alexey Samsonov authored
llvm-svn: 176091
-
Kostya Serebryany authored
[sanitizer] A low-level vector implementation to be used in leak checking code. Patch by Sergey Matveev llvm-svn: 176089
-
Kostya Serebryany authored
llvm-svn: 176085
-
Kostya Serebryany authored
llvm-svn: 176077
-
- Feb 25, 2013
-
-
Alexey Samsonov authored
llvm-svn: 176020
-
Alexey Samsonov authored
[Sanitizer] fix signed/unsigned compare warnings in sanitizer_stacktrace_test. Build sanitizer_common tests with -Werror as we use predictable just-built Clang for building them llvm-svn: 176014
-
- Feb 22, 2013
-
-
Reid Kleckner authored
Summary: The test sets up fake x86-style fp+retaddr frames, since that's all the unwinder works with. Reviewers: kcc CC: eugenis Differential Revision: http://llvm-reviews.chandlerc.com/D445 llvm-svn: 175893
-
- Feb 20, 2013
-
-
Reid Kleckner authored
Using > instead of >= ensures that each frame deref makes progress and that we eventually terminate. Issue: https://code.google.com/p/address-sanitizer/issues/detail?id=162 llvm-svn: 175661
-
Alexander Potapenko authored
llvm-svn: 175629
-
Alexey Samsonov authored
llvm-svn: 175622
-
Evgeniy Stepanov authored
llvm-svn: 175615
-
- Feb 19, 2013
-
-
Evgeniy Stepanov authored
llvm-svn: 175515
-
Evgeniy Stepanov authored
This way it fits on a random 1G device. llvm-svn: 175513
-
Alexey Samsonov authored
llvm-svn: 175511
-
Kostya Serebryany authored
This patch makes asan instrument memory accesses with unusual sizes (e.g. 5 bytes or 10 bytes), e.g. long double or packed structures. Instrumentation is done with two 1-byte checks (first and last bytes) and if the error is found __asan_report_load_n(addr, real_size) or __asan_report_store_n(addr, real_size) is called. asan-rt part Also fix lint. llvm-svn: 175508
-
Evgeniy Stepanov authored
execle(argv[0], ...) is wrong, because argv[0] may contain a PATH-resolvable program name. Execute /proc/self/exe instead. llvm-svn: 175504
-
Evgeniy Stepanov authored
llvm-svn: 175503
-
Evgeniy Stepanov authored
llvm-svn: 175499
-
- Feb 18, 2013
-
-
Alexey Samsonov authored
llvm-svn: 175424
-
- Feb 15, 2013
-
-
Kostya Serebryany authored
When prelink is installed in the system, prelink-ed libraries map between 0x003000000000 and 0x004000000000 thus occupying the shadow Gap, so we need so split the address space even further, like this: || [0x10007fff8000, 0x7fffffffffff] || HighMem || || [0x02008fff7000, 0x10007fff7fff] || HighShadow || || [0x004000000000, 0x02008fff6fff] || ShadowGap3 || || [0x003000000000, 0x003fffffffff] || MidMem || || [0x00087fff8000, 0x002fffffffff] || ShadowGap2 || || [0x00067fff8000, 0x00087fff7fff] || MidShadow || || [0x00008fff7000, 0x00067fff7fff] || ShadowGap || || [0x00007fff8000, 0x00008fff6fff] || LowShadow || || [0x000000000000, 0x00007fff7fff] || LowMem || Do it only if necessary. Also added a bit of profiling code to make sure that the mapping code is efficient. Added a lit test to simulate prelink-ed libraries. Unfortunately, this test does not work with binutils-gold linker. If gold is the default linker the test silently passes. Also replaced __has_feature(address_sanitizer) with __has_feature(address_sanitizer) || defined(__SANITIZE_ADDRESS__) in two places. Patch partially by Jakub Jelinek. llvm-svn: 175263
-
- Feb 14, 2013
-
-
Evgeniy Stepanov authored
/proc/$PID/cmdline is clipped to 4Kb. Locate argv and envp on the main thread stack. llvm-svn: 175163
-
Evgeniy Stepanov authored
We are still limited by /proc/*/cmdline size (4Kb max on Linux!). llvm-svn: 175145
-
- Feb 12, 2013
-
-
Evgeniy Stepanov authored
llvm-svn: 174971
-
Evgeniy Stepanov authored
In __isoc99_*scanf we don't have to worry about GNUisms, and can parse %a accurately. Patch by Jakub Jelinek. llvm-svn: 174969
-
Evgeniy Stepanov authored
llvm-svn: 174960
-
- Feb 11, 2013
-
-
Evgeniy Stepanov authored
llvm-svn: 174888
-
Evgeniy Stepanov authored
Respect REAL(scanf) return value and don't report memory stores that could potentially happen, but did not. llvm-svn: 174887
-
Evgeniy Stepanov authored
llvm-svn: 174883
-
Evgeniy Stepanov authored
Handle %a in cases when it is unambiguous. Handle %m. Patch by Jakub Jelinek. llvm-svn: 174882
-
- Feb 08, 2013
-
-
Evgeniy Stepanov authored
llvm-svn: 174708
-
Timur Iskhodzhanov authored
llvm-svn: 174707
-
Timur Iskhodzhanov authored
llvm-svn: 174706
-
Evgeniy Stepanov authored
llvm-svn: 174705
-
Evgeniy Stepanov authored
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
-
- Feb 07, 2013
-
-
Kostya Serebryany authored
llvm-svn: 174617
-
Alexander Potapenko authored
llvm-svn: 174616
-