| Index: syzygy/instrument/transforms/asan_transform.cc
|
| diff --git a/syzygy/instrument/transforms/asan_transform.cc b/syzygy/instrument/transforms/asan_transform.cc
|
| index d777afe71ab3361571472b088f67e65e1e259f06..4ea153b1ef0faff70745901f9eb5ad3a32112ab6 100644
|
| --- a/syzygy/instrument/transforms/asan_transform.cc
|
| +++ b/syzygy/instrument/transforms/asan_transform.cc
|
| @@ -153,8 +153,9 @@ bool IsInstrumentable(const _Operand& op) {
|
| bool IsSpecialInstruction(uint16_t opcode) {
|
| switch (opcode) {
|
| case I_CMPS:
|
| - case I_STOS:
|
| + case I_LODS:
|
| case I_MOVS:
|
| + case I_STOS:
|
| return true;
|
|
|
| default:
|
| @@ -632,7 +633,7 @@ bool ImportAsanCheckAccessHooks(
|
| }
|
|
|
| // Import the hooks for string/prefix memory accesses.
|
| - const _InstructionType strings[] = { I_CMPS, I_MOVS, I_STOS };
|
| + const _InstructionType strings[] = {I_CMPS, I_LODS, I_MOVS, I_STOS};
|
| int strings_length = sizeof(strings)/sizeof(_InstructionType);
|
|
|
| for (int access_size = 1; access_size <= 4; access_size *= 2) {
|
|
|