From d5d29a8fff4437d1b5024d03abd6b8fe6a00ce55 Mon Sep 17 00:00:00 2001 From: Tor Egge Date: Tue, 3 Oct 2023 17:15:14 +0200 Subject: Avoid unaligned read while decoding serialized query stack dump. --- searchlib/src/vespa/searchlib/parsequery/stackdumpiterator.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'searchlib/src') 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(p)); - p += sizeof(int64_t); + if (p + sizeof(int64_t) > _bufEnd) { + return false; + } + _curr_integer_term = readUint64(p); _currArity = 0; } break; -- cgit v1.2.3