[Support/BLAKE3] Do manual instrumentation of `llvm_blake3_hasher_finalize` for memory sanitizer

This is to avoid false positives when using the uninstrumented assembly code implementation.
This commit is contained in:
Argyrios Kyrtzidis 2022-03-25 09:47:41 -07:00
parent e47d220230
commit b867f5c7b8
1 changed files with 4 additions and 0 deletions

View File

@ -571,6 +571,10 @@ void llvm_blake3_hasher_update(blake3_hasher *self, const void *input,
void llvm_blake3_hasher_finalize(const blake3_hasher *self, uint8_t *out,
size_t out_len) {
llvm_blake3_hasher_finalize_seek(self, 0, out, out_len);
#if LLVM_MEMORY_SANITIZER_BUILD
// Avoid false positives due to uninstrumented assembly code.
__msan_unpoison(out, out_len);
#endif
}
void llvm_blake3_hasher_finalize_seek(const blake3_hasher *self, uint64_t seek,