Commit d03f54ef by Evan Brown Committed by Copybara-Service

Avoid MSan: use-of-uninitialized-value error in find_non_soo.

PiperOrigin-RevId: 613590317
Change-Id: I69f095681102e5492916085ada0eed085a75765b
parent 53e6dae0
...@@ -3295,14 +3295,13 @@ class raw_hash_set { ...@@ -3295,14 +3295,13 @@ class raw_hash_set {
iterator find_non_soo(const key_arg<K>& key, size_t hash) { iterator find_non_soo(const key_arg<K>& key, size_t hash) {
assert(!is_soo()); assert(!is_soo());
auto seq = probe(common(), hash); auto seq = probe(common(), hash);
slot_type* slot_ptr = slot_array();
const ctrl_t* ctrl = control(); const ctrl_t* ctrl = control();
while (true) { while (true) {
Group g{ctrl + seq.offset()}; Group g{ctrl + seq.offset()};
for (uint32_t i : g.Match(H2(hash))) { for (uint32_t i : g.Match(H2(hash))) {
if (ABSL_PREDICT_TRUE(PolicyTraits::apply( if (ABSL_PREDICT_TRUE(PolicyTraits::apply(
EqualElement<K>{key, eq_ref()}, EqualElement<K>{key, eq_ref()},
PolicyTraits::element(slot_ptr + seq.offset(i))))) PolicyTraits::element(slot_array() + seq.offset(i)))))
return iterator_at(seq.offset(i)); return iterator_at(seq.offset(i));
} }
if (ABSL_PREDICT_TRUE(g.MaskEmpty())) return end(); if (ABSL_PREDICT_TRUE(g.MaskEmpty())) return end();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment