Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(45)

Side by Side Diff: base/debug/asan_invalid_access.h

Issue 306753003: Add some function and URLs to induce ASan crashes. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix a compilation bug. Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright (c) 2014 The Chromium Authors. All rights reserved.
nasko 2014/06/06 17:08:46 nit: no "(c)"
Sébastien Marchand 2014/06/09 14:47:39 Done.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 //
5 // Defines some functions that intentionally do an invalid memory access in
6 // order to trigger an Address Sanitizer (ASan) error report.
Timur Iskhodzhanov 2014/06/06 11:36:56 and again, AddressSanitizer
Sébastien Marchand 2014/06/09 14:47:39 Oh, sorry I missed this one.
7
8 #ifndef BASE_DEBUG_ASAN_INVALID_ACCESS_H_
9 #define BASE_DEBUG_ASAN_INVALID_ACCESS_H_
10
11 #include "base/compiler_specific.h"
12
13 namespace base {
14 namespace debug {
15
16 #if defined(ADDRESS_SANITIZER) || defined(SYZYASAN)
17
18 // Generates an heap buffer overflow.
19 NOINLINE void AsanHeapOverflow();
20
21 // Generates an heap buffer underflow.
22 NOINLINE void AsanHeapUnderflow();
23
24 // Generates an use after free.
25 NOINLINE void AsanHeapUseAfterFree();
26
27 #endif // ADDRESS_SANITIZER || SYZYASAN
28
29 // The "corrupt-block" and "corrupt-heap" classes of bugs is specific to
30 // SyzyASan.
31 #if defined(SYZYASAN)
32
33 // Corrupts a memory block and makes sure that the corruption gets detected when
34 // we try to free this block.
35 NOINLINE void AsanCorruptHeapBlock();
36
37 // Corrupts the heap and makes sure that the corruption gets detected when a
38 // crash occur.
39 NOINLINE void AsanCorruptHeap();
40
41 #endif // SYZYASAN
42
43 } // namespace debug
44 } // namespace base
45
46 #endif // BASE_DEBUG_ASAN_INVALID_ACCESS_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698