summaryrefslogtreecommitdiffstats
path: root/searchlib
diff options
context:
space:
mode:
authorTor Egge <Tor.Egge@yahooinc.com>2023-07-21 16:18:27 +0200
committerTor Egge <Tor.Egge@yahooinc.com>2023-07-21 16:18:27 +0200
commitbcbf97c2b51fda09d1e3e2cb8c1c3860ba44edb5 (patch)
tree5a197fd6d7028d0bb5a99056e46b3bbed96ab01c /searchlib
parent7dcdf5a892a57f02df7edb53500133e9648d33c9 (diff)
Avoid dereferencing empty unique pointer.
Diffstat (limited to 'searchlib')
-rw-r--r--searchlib/src/vespa/searchlib/features/distance_calculator_bundle.cpp8
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));