Skip to content

Commit 91c3cf5

Browse files
rayw000BethGriggs
authored andcommitted
deps: V8: cherry-pick 422dc378a1da
Original commit message: [deserialization] Remove unnecessarily limit on buffer size 1. Now there is no serializer/deserializer-specific buffer size limit. 2. Update AUTHORS Ref: #40059 Change-Id: Iad4c6d8f68a91ef21d3c404fb7945949e69ad9e2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3170411 Reviewed-by: Jakob Kummerow <[email protected]> Reviewed-by: Clemens Backes <[email protected]> Commit-Queue: Jakob Kummerow <[email protected]> Cr-Commit-Position: refs/heads/main@{#77084} Refs: v8/v8@422dc37 PR-URL: #40450 Fixes: #40059 Reviewed-By: Michaël Zasso <[email protected]> Reviewed-By: Colin Ihrig <[email protected]>
1 parent 3b6cf09 commit 91c3cf5

File tree

4 files changed

+18
-39
lines changed

4 files changed

+18
-39
lines changed

common.gypi

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636

3737
# Reset this number to 0 on major V8 upgrades.
3838
# Increment by one for each non-official patch applied to deps/v8.
39-
'v8_embedder_string': '-node.13',
39+
'v8_embedder_string': '-node.14',
4040

4141
##### V8 defaults for Node.js #####
4242

deps/v8/AUTHORS

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -57,13 +57,12 @@ Alexis Campailla <[email protected]>
5757
Allan Sandfeld Jensen <[email protected]>
5858
5959
Andreas Anyuru <[email protected]>
60-
Andrew Paprocki <[email protected]>
6160
Andrei Kashcha <[email protected]>
61+
Andrew Paprocki <[email protected]>
6262
Anna Henningsen <[email protected]>
6363
Antoine du Hamel <[email protected]>
6464
Anton Bikineev <[email protected]>
6565
Bangfu Tao <[email protected]>
66-
Daniel Shelton <[email protected]>
6766
6867
Ben Newman <[email protected]>
6968
Ben Noordhuis <[email protected]>
@@ -74,18 +73,19 @@ Brice Dobry <[email protected]>
7473
Burcu Dogan <[email protected]>
7574
Caitlin Potter <[email protected]>
7675
Chao Wang <[email protected]>
77-
Craig Schlenter <[email protected]>
7876
Charles Kerr <[email protected]>
7977
Chengzhong Wu <[email protected]>
8078
Choongwoo Han <[email protected]>
8179
Chris Nardi <[email protected]>
8280
Christopher A. Taylor <[email protected]>
8381
Colin Ihrig <[email protected]>
8482
83+
Craig Schlenter <[email protected]>
8584
Daniel Andersson <[email protected]>
8685
Daniel Bevenius <[email protected]>
8786
Daniel Dromboski <[email protected]>
8887
Daniel James <[email protected]>
88+
Daniel Shelton <[email protected]>
8989
Darshan Sen <[email protected]>
9090
David Carlier <[email protected]>
9191
David Manouchehri <[email protected]>
@@ -120,13 +120,13 @@ Ingvar Stepanyan <[email protected]>
120120
Ioseb Dzmanashvili <[email protected]>
121121
Isiah Meadows <[email protected]>
122122
Jaime Bernardo <[email protected]>
123-
Jan de Mooij <[email protected]>
123+
James M Snell <[email protected]>
124+
James Pike <[email protected]>
124125
Jan Krems <[email protected]>
126+
Jan de Mooij <[email protected]>
125127
Janusz Majnert <[email protected]>
126-
Jay Freeman <[email protected]>
127-
James Pike <[email protected]>
128-
James M Snell <[email protected]>
129128
Javad Amiri <[email protected]>
129+
Jay Freeman <[email protected]>
130130
Jesper van den Ende <[email protected]>
131131
132132
Jianghua Yang <[email protected]>
@@ -136,8 +136,8 @@ Joel Stanley <[email protected]>
136136
Johan Bergström <[email protected]>
137137
Jonathan Liu <[email protected]>
138138
Julien Brianceau <[email protected]>
139-
Junha Park <[email protected]>
140139
JunHo Seo <[email protected]>
140+
Junha Park <[email protected]>
141141
Junming Huang <[email protected]>
142142
Kang-Hao (Kenny) Lu <[email protected]>
143143
Karl Skomski <[email protected]>
@@ -180,20 +180,21 @@ Oleksandr Chekhovskyi <[email protected]>
180180
Oliver Dunk <[email protected]>
181181
Paolo Giarrusso <[email protected]>
182182
Patrick Gansterer <[email protected]>
183+
Paul Lind <[email protected]>
184+
Pavel Medvedev <[email protected]>
183185
184186
185187
Peng-Yu Chen <[email protected]>
186188
Peter Rybin <[email protected]>
187189
Peter Varga <[email protected]>
188190
Peter Wong <[email protected]>
189-
Paul Lind <[email protected]>
190-
Pavel Medvedev <[email protected]>
191191
192192
Qingyan Li <[email protected]>
193193
Qiuyi Zhang <[email protected]>
194194
Rafal Krypa <[email protected]>
195195
Raul Tambre <[email protected]>
196196
Ray Glover <[email protected]>
197+
197198
Refael Ackermann <[email protected]>
198199
Rene Rebe <[email protected]>
199200
Reza Yazdani <[email protected]>
@@ -218,11 +219,13 @@ Stefan Penner <[email protected]>
218219
Stephan Hartmann <[email protected]>
219220
Stephen Belanger <[email protected]>
220221
Sylvestre Ledru <[email protected]>
222+
Takeshi Yoneda <[email protected]>
221223
Taketoshi Aono <[email protected]>
222224
Tao Liqiang <[email protected]>
223225
Teddy Katz <[email protected]>
224226
Thomas Young <[email protected]>
225227
Tiancheng "Timothy" Gu <[email protected]>
228+
Tianping Yang <[email protected]>
226229
Tobias Burnus <[email protected]>
227230
Tobias Nießen <[email protected]>
228231
Ujjwal Sharma <[email protected]>
@@ -246,13 +249,11 @@ Yi Wang <[email protected]>
246249
Yong Wang <[email protected]>
247250
Youfeng Hao <[email protected]>
248251
249-
Yusif Khudhur <[email protected]>
250252
Yuri Iozzelli <[email protected]>
253+
Yusif Khudhur <[email protected]>
251254
Zac Hansen <[email protected]>
252255
Zeynep Cankara <[email protected]>
253256
Zhao Jiazhong <[email protected]>
254257
Zheng Liu <[email protected]>
255258
Zhongping Wang <[email protected]>
256259
柳荣一 <[email protected]>
257-
Tianping Yang <[email protected]>
258-
Takeshi Yoneda <[email protected]>

deps/v8/src/api/api.cc

Lines changed: 2 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -3283,7 +3283,6 @@ struct ValueDeserializer::PrivateData {
32833283
: isolate(i), deserializer(i, data, delegate) {}
32843284
i::Isolate* isolate;
32853285
i::ValueDeserializer deserializer;
3286-
bool has_aborted = false;
32873286
bool supports_legacy_wire_format = false;
32883287
};
32893288

@@ -3293,16 +3292,8 @@ ValueDeserializer::ValueDeserializer(Isolate* isolate, const uint8_t* data,
32933292

32943293
ValueDeserializer::ValueDeserializer(Isolate* isolate, const uint8_t* data,
32953294
size_t size, Delegate* delegate) {
3296-
if (base::IsValueInRangeForNumericType<int>(size)) {
3297-
private_ = new PrivateData(
3298-
reinterpret_cast<i::Isolate*>(isolate),
3299-
base::Vector<const uint8_t>(data, static_cast<int>(size)), delegate);
3300-
} else {
3301-
private_ =
3302-
new PrivateData(reinterpret_cast<i::Isolate*>(isolate),
3303-
base::Vector<const uint8_t>(nullptr, 0), nullptr);
3304-
private_->has_aborted = true;
3305-
}
3295+
private_ = new PrivateData(reinterpret_cast<i::Isolate*>(isolate),
3296+
base::Vector<const uint8_t>(data, size), delegate);
33063297
}
33073298

33083299
ValueDeserializer::~ValueDeserializer() { delete private_; }
@@ -3312,15 +3303,6 @@ Maybe<bool> ValueDeserializer::ReadHeader(Local<Context> context) {
33123303
ENTER_V8_NO_SCRIPT(isolate, context, ValueDeserializer, ReadHeader,
33133304
Nothing<bool>(), i::HandleScope);
33143305

3315-
// We could have aborted during the constructor.
3316-
// If so, ReadHeader is where we report it.
3317-
if (private_->has_aborted) {
3318-
isolate->Throw(*isolate->factory()->NewError(
3319-
i::MessageTemplate::kDataCloneDeserializationError));
3320-
has_pending_exception = true;
3321-
RETURN_ON_FAILED_EXECUTION_PRIMITIVE(bool);
3322-
}
3323-
33243306
bool read_header = false;
33253307
has_pending_exception = !private_->deserializer.ReadHeader().To(&read_header);
33263308
RETURN_ON_FAILED_EXECUTION_PRIMITIVE(bool);
@@ -3344,12 +3326,10 @@ void ValueDeserializer::SetSupportsLegacyWireFormat(
33443326
}
33453327

33463328
uint32_t ValueDeserializer::GetWireFormatVersion() const {
3347-
CHECK(!private_->has_aborted);
33483329
return private_->deserializer.GetWireFormatVersion();
33493330
}
33503331

33513332
MaybeLocal<Value> ValueDeserializer::ReadValue(Local<Context> context) {
3352-
CHECK(!private_->has_aborted);
33533333
PREPARE_FOR_EXECUTION(context, ValueDeserializer, ReadValue, Value);
33543334
i::MaybeHandle<i::Object> result;
33553335
if (GetWireFormatVersion() > 0) {
@@ -3366,14 +3346,12 @@ MaybeLocal<Value> ValueDeserializer::ReadValue(Local<Context> context) {
33663346

33673347
void ValueDeserializer::TransferArrayBuffer(uint32_t transfer_id,
33683348
Local<ArrayBuffer> array_buffer) {
3369-
CHECK(!private_->has_aborted);
33703349
private_->deserializer.TransferArrayBuffer(transfer_id,
33713350
Utils::OpenHandle(*array_buffer));
33723351
}
33733352

33743353
void ValueDeserializer::TransferSharedArrayBuffer(
33753354
uint32_t transfer_id, Local<SharedArrayBuffer> shared_array_buffer) {
3376-
CHECK(!private_->has_aborted);
33773355
private_->deserializer.TransferArrayBuffer(
33783356
transfer_id, Utils::OpenHandle(*shared_array_buffer));
33793357
}

deps/v8/src/objects/value-serializer.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1117,7 +1117,7 @@ ValueDeserializer::ValueDeserializer(Isolate* isolate,
11171117
: isolate_(isolate),
11181118
delegate_(delegate),
11191119
position_(data.begin()),
1120-
end_(data.begin() + data.length()),
1120+
end_(data.end()),
11211121
id_map_(isolate->global_handles()->Create(
11221122
ReadOnlyRoots(isolate_).empty_fixed_array())) {}
11231123

0 commit comments

Comments
 (0)