diff options
author | Tor Egge <Tor.Egge@yahooinc.com> | 2023-10-03 19:56:58 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-10-03 19:56:58 +0200 |
commit | 3da2f625e81a9f4cc1be8572a3aa91fb01f5a0d1 (patch) | |
tree | bfc0327536de8fb5a1caae18eeb999af5e5209e0 /searchlib | |
parent | 9de00375145d6856e3f5d225ccfac62b33de5115 (diff) | |
parent | d5d29a8fff4437d1b5024d03abd6b8fe6a00ce55 (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.cpp | 7 |
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; |