$ uname -a NetBSD chieftec 8.99.8 NetBSD 8.99.8 (GENERIC) #1: Thu Dec 7 02:50:00 CET 2017 root@chieftec:/public/netbsd-root/sys/arch/amd64/compile/GENERIC amd64 $ cat umr2.c #include #include int main(int argc, char** argv) { int *a = malloc(sizeof(int) * 10); printf("a=%p\n", a); a[5] = 0; if (a[argc]) printf("xx\n"); return 0; } $ ./bin/clang -fsanitize=memory umr2.c -g -O0 $ ./a.out a=0x703000000000 ==19741==WARNING: MemorySanitizer: use-of-uninitialized-value #0 0x44c95a in main /public/llvm-build/umr2.c:8:7 #1 0x40a5da in ___start (/public/llvm-build/./a.out+0x40a5da) SUMMARY: MemorySanitizer: use-of-uninitialized-value /public/llvm-build/umr2.c:8:7 in main Exiting ------------------------------------------------------------------------------- $ uname -a Linux a.b 4.9.0-3-amd64 #1 SMP Debian 4.9.30-2+deb9u2 (2017-06-26) x86_64 GNU/Linux $ cat umr2.c #include #include int main(int argc, char** argv) { int *a = malloc(sizeof(int) * 10); printf("a=%p\n", a); a[5] = 0; if (a[argc]) printf("xx\n"); return 0; } $ clang -fsanitize=memory umr2.c -g -O0 $ ./a.out a=0x70600000efd0 ==9444==WARNING: MemorySanitizer: use-of-uninitialized-value #0 0x48925b in main /home/kamil/umr2.c:8:7 #1 0x7f58e07e22b0 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x202b0) #2 0x41beb9 in _start (/home/kamil/a.out+0x41beb9) SUMMARY: MemorySanitizer: use-of-uninitialized-value /home/kamil/umr2.c:8:7 in main Exiting