Browse Source

fix: -Wunsafe-buffer-usage warning in V8Serializer::Serialize() (#43642)

Charles Kerr 7 months ago
parent
commit
a3df950281
1 changed files with 5 additions and 3 deletions
  1. 5 3
      shell/common/v8_value_serializer.cc

+ 5 - 3
shell/common/v8_value_serializer.cc

@@ -49,10 +49,12 @@ class V8Serializer : public v8::ValueSerializer::Delegate {
     }
     DCHECK(wrote_value);
 
-    std::pair<uint8_t*, size_t> buffer = serializer_.Release();
-    DCHECK_EQ(buffer.first, data_.data());
-    out->encoded_message = base::make_span(buffer.first, buffer.second);
+    const auto [data_bytes, data_len] = serializer_.Release();
+    DCHECK_EQ(std::data(data_), data_bytes);
+    DCHECK_GE(std::size(data_), data_len);
+    data_.resize(data_len);
     out->owned_encoded_message = std::move(data_);
+    out->encoded_message = out->owned_encoded_message;
     out->sender_agent_cluster_id =
         blink::WebMessagePort::GetEmbedderAgentClusterID();