summaryrefslogtreecommitdiffstats
path: root/searchlib
diff options
context:
space:
mode:
authorTor Egge <Tor.Egge@yahooinc.com>2023-10-03 19:56:58 +0200
committerGitHub <noreply@github.com>2023-10-03 19:56:58 +0200
commit3da2f625e81a9f4cc1be8572a3aa91fb01f5a0d1 (patch)
treebfc0327536de8fb5a1caae18eeb999af5e5209e0 /searchlib
parent9de00375145d6856e3f5d225ccfac62b33de5115 (diff)
parentd5d29a8fff4437d1b5024d03abd6b8fe6a00ce55 (diff)
Merge pull request #28776 from vespa-engine/toregge/avoid-unaligned-read-while-decoding-serialized-query-stack-dump
Avoid unaligned read while decoding serialized query stack dump.
Diffstat (limited to 'searchlib')
-rw-r--r--searchlib/src/vespa/searchlib/parsequery/stackdumpiterator.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/searchlib/src/vespa/searchlib/parsequery/stackdumpiterator.cpp b/searchlib/src/vespa/searchlib/parsequery/stackdumpiterator.cpp
index f7c38b54227..c54663185fa 100644
--- a/searchlib/src/vespa/searchlib/parsequery/stackdumpiterator.cpp
+++ b/searchlib/src/vespa/searchlib/parsequery/stackdumpiterator.cpp
@@ -153,9 +153,10 @@ bool SimpleQueryStackDumpIterator::readNext() {
break;
case ParseItem::ITEM_PURE_WEIGHTED_LONG:
{
- if (p + sizeof(int64_t) > _bufEnd) return false;
- _curr_integer_term = vespalib::nbo::n2h(*reinterpret_cast<const int64_t *>(p));
- p += sizeof(int64_t);
+ if (p + sizeof(int64_t) > _bufEnd) {
+ return false;
+ }
+ _curr_integer_term = readUint64(p);
_currArity = 0;
}
break;