If a compatible CPU is found then wcslen and other Windows 10 Universal CRT functions will use AVX instructions. These may cause reads beyond the end of objects. As a comment in common_strlen_simd says:
// Note that in phase [2] we may read bytes beyond the terminator (and thus
// beyond the end of the string). This is okay, because we are reading
// aligned chunks, so a chunk will never straddle a page boundary and if we
// can read any byte from the chunk we can read all bytes from the chunk.
These reads are safe for the CRT to do, but they are illegal according to the C/C++ standard (other code would not be allowed such liberties).
This behavior causes warnings in DrMemory. The warnings do not indicate a bug in DrMemory, and they do not indicate a bug in the CRT, so they should be dealt with by careful suppressions.
Comment 1 by bruening@chromium.org
, Mar 19 2016Status: Duplicate (was: Untriaged)