summaryrefslogtreecommitdiffstats
path: root/searchlib
diff options
context:
space:
mode:
authorTor Egge <Tor.Egge@online.no>2022-12-09 14:02:23 +0100
committerTor Egge <Tor.Egge@online.no>2022-12-09 14:02:23 +0100
commit79117a612a536eae4f46e20f795afb5388969676 (patch)
tree8dc83b7cde476330be9fd6d2bb54186e3bd2ab7b /searchlib
parent09bb83a7d9513df26cd25b35af33d320a343b91f (diff)
Avoid accessing element 0 of empty vectors.
Diffstat (limited to 'searchlib')
-rw-r--r--searchlib/src/vespa/searchlib/expression/attributenode.cpp8
-rw-r--r--searchlib/src/vespa/searchlib/expression/resultnodes.cpp4
2 files changed, 6 insertions, 6 deletions
diff --git a/searchlib/src/vespa/searchlib/expression/attributenode.cpp b/searchlib/src/vespa/searchlib/expression/attributenode.cpp
index 9b10dfd0a92..f8ae4bd698d 100644
--- a/searchlib/src/vespa/searchlib/expression/attributenode.cpp
+++ b/searchlib/src/vespa/searchlib/expression/attributenode.cpp
@@ -235,7 +235,7 @@ AttributeNode::IntegerHandler<V>::handle(const AttributeResult & r)
size_t numValues = r.getAttribute()->getValueCount(r.getDocId());
_vector.resize(numValues);
_wVector.resize(numValues);
- r.getAttribute()->get(r.getDocId(), &_wVector[0], _wVector.size());
+ r.getAttribute()->get(r.getDocId(), _wVector.data(), _wVector.size());
for(size_t i(0); i < numValues; i++) {
_vector[i] = _wVector[i].getValue();
}
@@ -247,7 +247,7 @@ AttributeNode::FloatHandler::handle(const AttributeResult & r)
size_t numValues = r.getAttribute()->getValueCount(r.getDocId());
_vector.resize(numValues);
_wVector.resize(numValues);
- r.getAttribute()->get(r.getDocId(), &_wVector[0], _wVector.size());
+ r.getAttribute()->get(r.getDocId(), _wVector.data(), _wVector.size());
for(size_t i(0); i < numValues; i++) {
_vector[i] = _wVector[i].getValue();
}
@@ -259,7 +259,7 @@ AttributeNode::StringHandler::handle(const AttributeResult & r)
size_t numValues = r.getAttribute()->getValueCount(r.getDocId());
_vector.resize(numValues);
_wVector.resize(numValues);
- r.getAttribute()->get(r.getDocId(), &_wVector[0], _wVector.size());
+ r.getAttribute()->get(r.getDocId(), _wVector.data(), _wVector.size());
for(size_t i(0); i < numValues; i++) {
_vector[i] = _wVector[i].getValue();
}
@@ -270,7 +270,7 @@ void AttributeNode::EnumHandler::handle(const AttributeResult & r)
size_t numValues = r.getAttribute()->getValueCount(r.getDocId());
_vector.resize(numValues);
_wVector.resize(numValues);
- r.getAttribute()->get(r.getDocId(), &_wVector[0], _wVector.size());
+ r.getAttribute()->get(r.getDocId(), _wVector.data(), _wVector.size());
for(size_t i(0); i < numValues; i++) {
_vector[i] = _wVector[i].getValue();
}
diff --git a/searchlib/src/vespa/searchlib/expression/resultnodes.cpp b/searchlib/src/vespa/searchlib/expression/resultnodes.cpp
index a8e73b925b0..bc0ea85575d 100644
--- a/searchlib/src/vespa/searchlib/expression/resultnodes.cpp
+++ b/searchlib/src/vespa/searchlib/expression/resultnodes.cpp
@@ -390,13 +390,13 @@ int RawResultNode::onCmp(const Identifiable & b) const
}
}
-size_t RawResultNode::hash() const { return hashBuf(&_value[0], _value.size()); }
+size_t RawResultNode::hash() const { return hashBuf(_value.data(), _value.size()); }
size_t
RawResultNode::hash(const void * buf) const
{
const std::vector<uint8_t> & s = *static_cast<const std::vector<uint8_t> *>(buf);
- return hashBuf(&s[0], s.size());
+ return hashBuf(s.data(), s.size());
}
Deserializer &