diff options
author | Peter Varga <pvarga@inf.u-szeged.hu> | 2023-02-07 13:15:12 +0100 |
---|---|---|
committer | Peter Varga <pvarga@inf.u-szeged.hu> | 2023-02-10 09:24:04 +0000 |
commit | e3f25da075cdcb0d7be140df2249c46e68e33869 (patch) | |
tree | 043ba034026c79bb83a4550e8e32f6391510a166 | |
parent | 5864a96e7cb47f469ba99074729a9ebad508a5d2 (diff) | |
download | qtwebengine-chromium-e3f25da075cdcb0d7be140df2249c46e68e33869.tar.gz |
FIXUP: Workaround debug iterator issues with MSVC
Fixes performance profiling in devtools.
Fixes: QTBUG-101983
Change-Id: I232165f8449a42aa1b2d7a7c2eb2423c5a32a271
Reviewed-on: https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/458710
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
(cherry picked from commit 9faaf2ea7ed1f879c513bc407f3d5da1d30e7f0e)
Reviewed-on: https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/459020
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
-rw-r--r-- | chromium/services/tracing/public/cpp/perfetto/trace_packet_tokenizer.cc | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/chromium/services/tracing/public/cpp/perfetto/trace_packet_tokenizer.cc b/chromium/services/tracing/public/cpp/perfetto/trace_packet_tokenizer.cc index 77542ed72d4..4d9a5048673 100644 --- a/chromium/services/tracing/public/cpp/perfetto/trace_packet_tokenizer.cc +++ b/chromium/services/tracing/public/cpp/perfetto/trace_packet_tokenizer.cc @@ -51,9 +51,12 @@ std::vector<perfetto::TracePacket> TracePacketTokenizer::Parse( DCHECK_EQ(kPacketTag, next_packet_.header[0]); // Parse the size field. + size_t header_size = next_packet_.header->size(); + uint8_t* last_ptr = &next_packet_.header[header_size - 1]; + uint8_t* end_ptr = last_ptr + 1; const auto* size_begin = &next_packet_.header[1]; const auto* size_end = protozero::proto_utils::ParseVarInt( - size_begin, &*next_packet_.header->end(), &next_packet_.parsed_size); + size_begin, end_ptr, &next_packet_.parsed_size); size_t size_field_size = size_end - size_begin; if (!size_field_size) { // Size field overflows to next chunk. Try again later. |