| Index: syzygy/agent/asan/memory_interceptors.h
|
| diff --git a/syzygy/agent/asan/memory_interceptors.h b/syzygy/agent/asan/memory_interceptors.h
|
| index 51f6bbd141efbf49afee4a14c2d1ebe0ae04660a..f85b59c77d2abf24d69d24c3a806e066ebe512b6 100644
|
| --- a/syzygy/agent/asan/memory_interceptors.h
|
| +++ b/syzygy/agent/asan/memory_interceptors.h
|
| @@ -98,25 +98,31 @@ extern const size_t kNumMemoryAccessorVariants;
|
| F(16, write_access, AsanWriteAccess) \
|
| F(32, write_access, AsanWriteAccess)
|
|
|
| -#define ASAN_STRING_INTERCEPT_FUNCTIONS(F) \
|
| - F(cmps, _repz_, ecx, AsanReadAccess, AsanReadAccess, 4, 1) \
|
| - F(cmps, _repz_, ecx, AsanReadAccess, AsanReadAccess, 2, 1) \
|
| - F(cmps, _repz_, ecx, AsanReadAccess, AsanReadAccess, 1, 1) \
|
| - F(cmps, _, 1, AsanReadAccess, AsanReadAccess, 4, 1) \
|
| - F(cmps, _, 1, AsanReadAccess, AsanReadAccess, 2, 1) \
|
| - F(cmps, _, 1, AsanReadAccess, AsanReadAccess, 1, 1) \
|
| - F(movs, _repz_, ecx, AsanWriteAccess, AsanReadAccess, 4, 0) \
|
| - F(movs, _repz_, ecx, AsanWriteAccess, AsanReadAccess, 2, 0) \
|
| - F(movs, _repz_, ecx, AsanWriteAccess, AsanReadAccess, 1, 0) \
|
| - F(movs, _, 1, AsanWriteAccess, AsanReadAccess, 4, 0) \
|
| - F(movs, _, 1, AsanWriteAccess, AsanReadAccess, 2, 0) \
|
| - F(movs, _, 1, AsanWriteAccess, AsanReadAccess, 1, 0) \
|
| - F(stos, _repz_, ecx, AsanWriteAccess, AsanUnknownAccess, 4, 0) \
|
| - F(stos, _repz_, ecx, AsanWriteAccess, AsanUnknownAccess, 2, 0) \
|
| - F(stos, _repz_, ecx, AsanWriteAccess, AsanUnknownAccess, 1, 0) \
|
| - F(stos, _, 1, AsanWriteAccess, AsanUnknownAccess, 4, 0) \
|
| - F(stos, _, 1, AsanWriteAccess, AsanUnknownAccess, 2, 0) \
|
| - F(stos, _, 1, AsanWriteAccess, AsanUnknownAccess, 1, 0)
|
| +#define ASAN_STRING_INTERCEPT_FUNCTIONS(F) \
|
| + F(cmps, _repz_, ecx, AsanReadAccess, AsanReadAccess, 4, 1) \
|
| + F(cmps, _repz_, ecx, AsanReadAccess, AsanReadAccess, 2, 1) \
|
| + F(cmps, _repz_, ecx, AsanReadAccess, AsanReadAccess, 1, 1) \
|
| + F(cmps, _, 1, AsanReadAccess, AsanReadAccess, 4, 1) \
|
| + F(cmps, _, 1, AsanReadAccess, AsanReadAccess, 2, 1) \
|
| + F(cmps, _, 1, AsanReadAccess, AsanReadAccess, 1, 1) \
|
| + F(lods, _repz_, ecx, AsanWriteAccess, AsanReadAccess, 4, 0) \
|
| + F(lods, _repz_, ecx, AsanWriteAccess, AsanReadAccess, 2, 0) \
|
| + F(lods, _repz_, ecx, AsanWriteAccess, AsanReadAccess, 1, 0) \
|
| + F(lods, _, 1, AsanWriteAccess, AsanReadAccess, 4, 0) \
|
| + F(lods, _, 1, AsanWriteAccess, AsanReadAccess, 2, 0) \
|
| + F(lods, _, 1, AsanWriteAccess, AsanReadAccess, 1, 0) \
|
| + F(movs, _repz_, ecx, AsanWriteAccess, AsanReadAccess, 4, 0) \
|
| + F(movs, _repz_, ecx, AsanWriteAccess, AsanReadAccess, 2, 0) \
|
| + F(movs, _repz_, ecx, AsanWriteAccess, AsanReadAccess, 1, 0) \
|
| + F(movs, _, 1, AsanWriteAccess, AsanReadAccess, 4, 0) \
|
| + F(movs, _, 1, AsanWriteAccess, AsanReadAccess, 2, 0) \
|
| + F(movs, _, 1, AsanWriteAccess, AsanReadAccess, 1, 0) \
|
| + F(stos, _repz_, ecx, AsanWriteAccess, AsanUnknownAccess, 4, 0) \
|
| + F(stos, _repz_, ecx, AsanWriteAccess, AsanUnknownAccess, 2, 0) \
|
| + F(stos, _repz_, ecx, AsanWriteAccess, AsanUnknownAccess, 1, 0) \
|
| + F(stos, _, 1, AsanWriteAccess, AsanUnknownAccess, 4, 0) \
|
| + F(stos, _, 1, AsanWriteAccess, AsanUnknownAccess, 2, 0) \
|
| + F(stos, _, 1, AsanWriteAccess, AsanUnknownAccess, 1, 0)
|
|
|
| } // namespace asan
|
| } // namespace agent
|
|
|