[clang] [compiler-rt] Move interceptors for libresolv functions to MSan (PR #119071)

Aaron Puchert via llvm-commits llvm-commits at lists.llvm.org
Sun Dec 15 14:18:14 PST 2024


aaronpuchert wrote:

Specifically, this is the output:
```
 Uninitialized bytes in strcmp at offset 0 inside [0x7fffffffe1e0, 12)
 ==1131638==WARNING: MemorySanitizer: use-of-uninitialized-value
     #0 0x55555565c159 in testWrite() /b/s/w/ir/cache/builder/src/third_party/llvm/compiler-rt/test/msan/Linux/dn_expand.cpp:20:3
```
The code:
```c++
  assert(res == 12);
  assert(strcmp(output, "google\\.com") == 0); // line 20
  __msan_check_mem_is_initialized(output, strlen(output) + 1);
```
The expected string has 11 characters, and in the old (and new) interceptor we have `__msan_unpoison(dest, internal_strlen(dest) + 1);`. Do you get the same result for the function? Does `internal_strlen` not return 11? Or does `__msan_unpoison` not work?

https://github.com/llvm/llvm-project/pull/119071


More information about the llvm-commits mailing list