[clang] 49c2898 - [AST/Interp] Fix latent unitialized use of memory bug in D64146
Fangrui Song via cfe-commits
cfe-commits at lists.llvm.org
Thu Sep 8 13:39:39 PDT 2022
Author: Fangrui Song
Date: 2022-09-08T13:39:30-07:00
New Revision: 49c289879c7aa9737429f7342c7149a8ba958667
URL: https://github.com/llvm/llvm-project/commit/49c289879c7aa9737429f7342c7149a8ba958667
DIFF: https://github.com/llvm/llvm-project/commit/49c289879c7aa9737429f7342c7149a8ba958667.diff
LOG: [AST/Interp] Fix latent unitialized use of memory bug in D64146
Exposed by D132727: clang/test/AST/Interp/arrays.cpp fails with --config=msan
Added:
Modified:
clang/lib/AST/Interp/Descriptor.cpp
Removed:
################################################################################
diff --git a/clang/lib/AST/Interp/Descriptor.cpp b/clang/lib/AST/Interp/Descriptor.cpp
index 5c1a8a9cf3066..2098ae778a87a 100644
--- a/clang/lib/AST/Interp/Descriptor.cpp
+++ b/clang/lib/AST/Interp/Descriptor.cpp
@@ -259,9 +259,7 @@ SourceLocation Descriptor::getLocation() const {
}
InitMap::InitMap(unsigned N) : UninitFields(N) {
- for (unsigned I = 0; I < N / PER_FIELD; ++I) {
- data()[I] = 0;
- }
+ std::fill_n(data(), (N + PER_FIELD - 1) / PER_FIELD, 0);
}
InitMap::T *InitMap::data() {
More information about the cfe-commits
mailing list