google / syzygy

Syzygy Transformation Toolchain
Apache License 2.0
355 stars 59 forks source link

Errant assert in agent::asan::TestMemoryRange? #57

Open sigurasg opened 7 years ago

sigurasg commented 7 years ago

See crash/a8ac1b93431791a4 and associated crashes in the same bucket.

void __cdecl asan_memcpy(void destination, const void source, size_t num) { TestMemoryRange(crt_interceptorshadow, reinterpret_cast<const uint8_t>(source), num, agent::asan::ASAN_READ_ACCESS); << CHECK IN HERE TestMemoryRange(crt_interceptorshadow, reinterpret_cast<uint8_t*>(destination), num, agent::asan::ASAN_WRITE_ACCESS); return ::memcpy(destination, source, num); } 0:019> dv destination = 0x089c5c20 source = 0x00000000 num = 0x25

This is essentially a NULL pointer access violation in the making, but we turn it into a CHECK failure in TestMemoryRange.