diff options
author | Tor Egge <Tor.Egge@yahooinc.com> | 2023-07-21 16:18:27 +0200 |
---|---|---|
committer | Tor Egge <Tor.Egge@yahooinc.com> | 2023-07-21 16:18:27 +0200 |
commit | bcbf97c2b51fda09d1e3e2cb8c1c3860ba44edb5 (patch) | |
tree | 5a197fd6d7028d0bb5a99056e46b3bbed96ab01c /searchlib | |
parent | 7dcdf5a892a57f02df7edb53500133e9648d33c9 (diff) |
Avoid dereferencing empty unique pointer.
Diffstat (limited to 'searchlib')
-rw-r--r-- | searchlib/src/vespa/searchlib/features/distance_calculator_bundle.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/searchlib/src/vespa/searchlib/features/distance_calculator_bundle.cpp b/searchlib/src/vespa/searchlib/features/distance_calculator_bundle.cpp index 22afaa3ca84..254dbf8b4cd 100644 --- a/searchlib/src/vespa/searchlib/features/distance_calculator_bundle.cpp +++ b/searchlib/src/vespa/searchlib/features/distance_calculator_bundle.cpp @@ -108,7 +108,9 @@ DistanceCalculatorBundle::DistanceCalculatorBundle(const fef::IQueryEnvironment& const auto* term = env.getTerm(i); if (term->query_tensor_name().has_value() && (attr != nullptr)) { _elems.emplace_back(handle, make_distance_calculator(env, *attr, term->query_tensor_name().value(), feature_name)); - _min_rawscore = _elems.back().calc->function().min_rawscore(); + if (_elems.back().calc) { + _min_rawscore = _elems.back().calc->function().min_rawscore(); + } } else { _elems.emplace_back(handle); } @@ -138,7 +140,9 @@ DistanceCalculatorBundle::DistanceCalculatorBundle(const fef::IQueryEnvironment& const auto* attr = resolve_attribute_for_field(env, term_field.getFieldId(), feature_name); if (attr != nullptr) { calc = make_distance_calculator(env, *attr, term->query_tensor_name().value(), feature_name); - _min_rawscore = calc->function().min_rawscore(); + if (calc) { + _min_rawscore = calc->function().min_rawscore(); + } } } _elems.emplace_back(handle, std::move(calc)); |