From cdf3c48349bd423460b8c0aa3a5a8ad124b1f271 Mon Sep 17 00:00:00 2001 From: Nikolaj Bjorner Date: Fri, 29 Nov 2019 15:50:49 -0800 Subject: [PATCH] clear memory on allocation to avoid msan warnings Signed-off-by: Nikolaj Bjorner --- src/muz/rel/tbv.cpp | 1 + src/util/fixed_bit_vector.cpp | 1 + 2 files changed, 2 insertions(+) diff --git a/src/muz/rel/tbv.cpp b/src/muz/rel/tbv.cpp index b96f32114..a649279ee 100644 --- a/src/muz/rel/tbv.cpp +++ b/src/muz/rel/tbv.cpp @@ -44,6 +44,7 @@ void tbv_manager::reset() { } tbv* tbv_manager::allocate() { tbv* r = static_cast(m.allocate()); + m.reset(*r); DEBUG_CODE( if (s_debug_alloc) { TRACE("doc", tout << allocated_tbvs.size() << " " << r << "\n";); diff --git a/src/util/fixed_bit_vector.cpp b/src/util/fixed_bit_vector.cpp index e227aa524..732f37acb 100644 --- a/src/util/fixed_bit_vector.cpp +++ b/src/util/fixed_bit_vector.cpp @@ -48,6 +48,7 @@ fixed_bit_vector_manager::fixed_bit_vector_manager(unsigned num_bits): m_num_bytes = m_num_words * sizeof(unsigned); unsigned bit_rest = m_num_bits % 32; m_mask = (1U << bit_rest) - 1; + memset(&m_0, 0, sizeof(m_0)); if (m_mask == 0) m_mask = UINT_MAX; }