summaryrefslogtreecommitdiffstats
path: root/searchlib
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2022-12-09 14:16:59 +0100
committerGitHub <noreply@github.com>2022-12-09 14:16:59 +0100
commit05b95bef26bec321fba8315739d563c01b830565 (patch)
tree5a2afeea40f84d529188a65bd5d72ef0e29cb76d /searchlib
parentbf14901bf23648fa291d8065cbcfb15486abebaa (diff)
parent79117a612a536eae4f46e20f795afb5388969676 (diff)
Merge pull request #25189 from vespa-engine/toregge/avoid-accessing-element-0-of-empty-vectors
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 &