diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2022-12-09 14:16:59 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-12-09 14:16:59 +0100 |
commit | 05b95bef26bec321fba8315739d563c01b830565 (patch) | |
tree | 5a2afeea40f84d529188a65bd5d72ef0e29cb76d | |
parent | bf14901bf23648fa291d8065cbcfb15486abebaa (diff) | |
parent | 79117a612a536eae4f46e20f795afb5388969676 (diff) |
Merge pull request #25189 from vespa-engine/toregge/avoid-accessing-element-0-of-empty-vectors
Avoid accessing element 0 of empty vectors.
-rw-r--r-- | searchlib/src/vespa/searchlib/expression/attributenode.cpp | 8 | ||||
-rw-r--r-- | searchlib/src/vespa/searchlib/expression/resultnodes.cpp | 4 |
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 & |