From 7d260a1305e973f23d7bb560bf335175082ad277 Mon Sep 17 00:00:00 2001 From: "trop[bot]" <37223003+trop[bot]@users.noreply.github.com> Date: Fri, 22 Nov 2024 15:35:55 +0100 Subject: [PATCH] fix: big endian bug in V8 serialization (#44797) Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com> Co-authored-by: Charles Kerr --- shell/common/v8_util.cc | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/shell/common/v8_util.cc b/shell/common/v8_util.cc index 80a9300e7a2..463ef545ed7 100644 --- a/shell/common/v8_util.cc +++ b/shell/common/v8_util.cc @@ -4,6 +4,7 @@ #include "shell/common/v8_util.h" +#include #include #include @@ -20,11 +21,11 @@ namespace electron { namespace { -enum SerializationTag { - kNativeImageTag = 'i', - kTrailerOffsetTag = 0xFE, - kVersionTag = 0xFF -}; + +constexpr uint8_t kNativeImageTag = 'i'; +constexpr uint8_t kTrailerOffsetTag = 0xFE; +constexpr uint8_t kVersionTag = 0xFF; + } // namespace class V8Serializer : public v8::ValueSerializer::Delegate { @@ -104,7 +105,7 @@ class V8Serializer : public v8::ValueSerializer::Delegate { } private: - void WriteTag(SerializationTag tag) { serializer_.WriteRawBytes(&tag, 1); } + void WriteTag(const uint8_t tag) { serializer_.WriteRawBytes(&tag, 1U); } void WriteBlinkEnvelope(uint32_t blink_version) { // Write a dummy blink version envelope for compatibility with