summaryrefslogtreecommitdiffstats
path: root/searchlib/src
diff options
context:
space:
mode:
authorTor Egge <Tor.Egge@online.no>2023-10-03 17:15:14 +0200
committerTor Egge <Tor.Egge@online.no>2023-10-03 17:15:14 +0200
commitd5d29a8fff4437d1b5024d03abd6b8fe6a00ce55 (patch)
treefd6b5f2843080f72e303201b78e2cf8b7a365495 /searchlib/src
parentc09cfc611673efb38f8d29b33e0e50ced8197666 (diff)
Avoid unaligned read while decoding serialized query stack dump.
Diffstat (limited to 'searchlib/src')
-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;