Skip to content

Commit 8d16f0d

Browse files
rayw000targos
authored andcommittedOct 23, 2021
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 6e39e0e commit 8d16f0d

File tree

4 files changed

+18
-39
lines changed

4 files changed

+18
-39
lines changed
 

‎common.gypi

+1-1
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.12',
39+
'v8_embedder_string': '-node.13',
4040

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

‎deps/v8/AUTHORS

+14-13
Original file line numberDiff line numberDiff line change
@@ -57,13 +57,12 @@ Alexis Campailla <alexis@janeasystems.com>
5757
Allan Sandfeld Jensen <allan.jensen@qt.io>
5858
Amos Lim <eui-sang.lim@samsung.com>
5959
Andreas Anyuru <andreas.anyuru@gmail.com>
60-
Andrew Paprocki <andrew@ishiboo.com>
6160
Andrei Kashcha <anvaka@gmail.com>
61+
Andrew Paprocki <andrew@ishiboo.com>
6262
Anna Henningsen <anna@addaleax.net>
6363
Antoine du Hamel <duhamelantoine1995@gmail.com>
6464
Anton Bikineev <ant.bikineev@gmail.com>
6565
Bangfu Tao <bangfu.tao@samsung.com>
66-
Daniel Shelton <d1.shelton@samsung.com>
6766
Ben Coe <bencoe@gmail.com>
6867
Ben Newman <ben@meteor.com>
6968
Ben Noordhuis <info@bnoordhuis.nl>
@@ -74,18 +73,19 @@ Brice Dobry <brice.dobry@futurewei.com>
7473
Burcu Dogan <burcujdogan@gmail.com>
7574
Caitlin Potter <caitpotter88@gmail.com>
7675
Chao Wang <chao.w@rioslab.org>
77-
Craig Schlenter <craig.schlenter@gmail.com>
7876
Charles Kerr <charles@charleskerr.com>
7977
Chengzhong Wu <legendecas@gmail.com>
8078
Choongwoo Han <cwhan.tunz@gmail.com>
8179
Chris Nardi <hichris123@gmail.com>
8280
Christopher A. Taylor <chris@gameclosure.com>
8381
Colin Ihrig <cjihrig@gmail.com>
8482
Cong Zuo <zckevinzc@gmail.com>
83+
Craig Schlenter <craig.schlenter@gmail.com>
8584
Daniel Andersson <kodandersson@gmail.com>
8685
Daniel Bevenius <daniel.bevenius@gmail.com>
8786
Daniel Dromboski <dandromb@gmail.com>
8887
Daniel James <dnljms@gmail.com>
88+
Daniel Shelton <d1.shelton@samsung.com>
8989
Darshan Sen <raisinten@gmail.com>
9090
David Carlier <devnexen@gmail.com>
9191
David Manouchehri <david@davidmanouchehri.com>
@@ -120,13 +120,13 @@ Ingvar Stepanyan <me@rreverser.com>
120120
Ioseb Dzmanashvili <ioseb.dzmanashvili@gmail.com>
121121
Isiah Meadows <impinball@gmail.com>
122122
Jaime Bernardo <jaime@janeasystems.com>
123-
Jan de Mooij <jandemooij@gmail.com>
123+
James M Snell <jasnell@gmail.com>
124+
James Pike <g00gle@chilon.net>
124125
Jan Krems <jan.krems@gmail.com>
126+
Jan de Mooij <jandemooij@gmail.com>
125127
Janusz Majnert <jmajnert@gmail.com>
126-
Jay Freeman <saurik@saurik.com>
127-
James Pike <g00gle@chilon.net>
128-
James M Snell <jasnell@gmail.com>
129128
Javad Amiri <javad.amiri@anu.edu.au>
129+
Jay Freeman <saurik@saurik.com>
130130
Jesper van den Ende <jespertheend@gmail.com>
131131
Ji Qiu <qiuji@iscas.ac.cn>
132132
Jianghua Yang <jianghua.yjh@alibaba-inc.com>
@@ -136,8 +136,8 @@ Joel Stanley <joel@jms.id.au>
136136
Johan Bergström <johan@bergstroem.nu>
137137
Jonathan Liu <net147@gmail.com>
138138
Julien Brianceau <jbriance@cisco.com>
139-
Junha Park <jpark3@scu.edu>
140139
JunHo Seo <sejunho@gmail.com>
140+
Junha Park <jpark3@scu.edu>
141141
Junming Huang <kiminghjm@gmail.com>
142142
Kang-Hao (Kenny) Lu <kennyluck@csail.mit.edu>
143143
Karl Skomski <karl@skomski.com>
@@ -181,20 +181,21 @@ Oleksandr Chekhovskyi <oleksandr.chekhovskyi@gmail.com>
181181
Oliver Dunk <oliver@oliverdunk.com>
182182
Paolo Giarrusso <p.giarrusso@gmail.com>
183183
Patrick Gansterer <paroga@paroga.com>
184+
Paul Lind <plind44@gmail.com>
185+
Pavel Medvedev <pmedvedev@gmail.com>
184186
Peng Fei <pfgenyun@gmail.com>
185187
Peng Wu <peng.w@rioslab.org>
186188
Peng-Yu Chen <pengyu@libstarrify.so>
187189
Peter Rybin <peter.rybin@gmail.com>
188190
Peter Varga <pvarga@inf.u-szeged.hu>
189191
Peter Wong <peter.wm.wong@gmail.com>
190-
Paul Lind <plind44@gmail.com>
191-
Pavel Medvedev <pmedvedev@gmail.com>
192192
PhistucK <phistuck@gmail.com>
193193
Qingyan Li <qingyan.liqy@alibaba-inc.com>
194194
Qiuyi Zhang <qiuyi.zqy@alibaba-inc.com>
195195
Rafal Krypa <rafal@krypa.net>
196196
Raul Tambre <raul@tambre.ee>
197197
Ray Glover <ray@rayglover.net>
198+
Ray Wang <ray@isrc.iscas.ac.cn>
198199
Refael Ackermann <refack@gmail.com>
199200
Rene Rebe <rene@exactcode.de>
200201
Reza Yazdani <ryazdani@futurewei.com>
@@ -219,11 +220,13 @@ Stefan Penner <stefan.penner@gmail.com>
219220
Stephan Hartmann <stha09@googlemail.com>
220221
Stephen Belanger <stephen.belanger@datadoghq.com>
221222
Sylvestre Ledru <sledru@mozilla.com>
223+
Takeshi Yoneda <takeshi@tetrate.io>
222224
Taketoshi Aono <brn@b6n.ch>
223225
Tao Liqiang <taolq@outlook.com>
224226
Teddy Katz <teddy.katz@gmail.com>
225227
Thomas Young <wenzhang5800@gmail.com>
226228
Tiancheng "Timothy" Gu <timothygu99@gmail.com>
229+
Tianping Yang <yangtianping@oppo.com>
227230
Timo Teräs <timo.teras@iki.fi>
228231
Tobias Burnus <burnus@net-b.de>
229232
Tobias Nießen <tniessen@tnie.de>
@@ -248,13 +251,11 @@ Yi Wang <wangyi8848@gmail.com>
248251
Yong Wang <ccyongwang@tencent.com>
249252
Youfeng Hao <ajihyf@gmail.com>
250253
Yu Yin <xwafish@gmail.com>
251-
Yusif Khudhur <yusif.khudhur@gmail.com>
252254
Yuri Iozzelli <yuri@leaningtech.com>
255+
Yusif Khudhur <yusif.khudhur@gmail.com>
253256
Zac Hansen <xaxxon@gmail.com>
254257
Zeynep Cankara <zeynepcankara402@gmail.com>
255258
Zhao Jiazhong <kyslie3100@gmail.com>
256259
Zheng Liu <i6122f@gmail.com>
257260
Zhongping Wang <kewpie.w.zp@gmail.com>
258261
柳荣一 <admin@web-tinker.com>
259-
Tianping Yang <yangtianping@oppo.com>
260-
Takeshi Yoneda <takeshi@tetrate.io>

‎deps/v8/src/api/api.cc

+2-24
Original file line numberDiff line numberDiff line change
@@ -3362,7 +3362,6 @@ struct ValueDeserializer::PrivateData {
33623362
: isolate(i), deserializer(i, data, delegate) {}
33633363
i::Isolate* isolate;
33643364
i::ValueDeserializer deserializer;
3365-
bool has_aborted = false;
33663365
bool supports_legacy_wire_format = false;
33673366
};
33683367

@@ -3372,16 +3371,8 @@ ValueDeserializer::ValueDeserializer(Isolate* isolate, const uint8_t* data,
33723371

33733372
ValueDeserializer::ValueDeserializer(Isolate* isolate, const uint8_t* data,
33743373
size_t size, Delegate* delegate) {
3375-
if (base::IsValueInRangeForNumericType<int>(size)) {
3376-
private_ = new PrivateData(
3377-
reinterpret_cast<i::Isolate*>(isolate),
3378-
base::Vector<const uint8_t>(data, static_cast<int>(size)), delegate);
3379-
} else {
3380-
private_ =
3381-
new PrivateData(reinterpret_cast<i::Isolate*>(isolate),
3382-
base::Vector<const uint8_t>(nullptr, 0), nullptr);
3383-
private_->has_aborted = true;
3384-
}
3374+
private_ = new PrivateData(reinterpret_cast<i::Isolate*>(isolate),
3375+
base::Vector<const uint8_t>(data, size), delegate);
33853376
}
33863377

33873378
ValueDeserializer::~ValueDeserializer() { delete private_; }
@@ -3391,15 +3382,6 @@ Maybe<bool> ValueDeserializer::ReadHeader(Local<Context> context) {
33913382
ENTER_V8_NO_SCRIPT(isolate, context, ValueDeserializer, ReadHeader,
33923383
Nothing<bool>(), i::HandleScope);
33933384

3394-
// We could have aborted during the constructor.
3395-
// If so, ReadHeader is where we report it.
3396-
if (private_->has_aborted) {
3397-
isolate->Throw(*isolate->factory()->NewError(
3398-
i::MessageTemplate::kDataCloneDeserializationError));
3399-
has_pending_exception = true;
3400-
RETURN_ON_FAILED_EXECUTION_PRIMITIVE(bool);
3401-
}
3402-
34033385
bool read_header = false;
34043386
has_pending_exception = !private_->deserializer.ReadHeader().To(&read_header);
34053387
RETURN_ON_FAILED_EXECUTION_PRIMITIVE(bool);
@@ -3423,12 +3405,10 @@ void ValueDeserializer::SetSupportsLegacyWireFormat(
34233405
}
34243406

34253407
uint32_t ValueDeserializer::GetWireFormatVersion() const {
3426-
CHECK(!private_->has_aborted);
34273408
return private_->deserializer.GetWireFormatVersion();
34283409
}
34293410

34303411
MaybeLocal<Value> ValueDeserializer::ReadValue(Local<Context> context) {
3431-
CHECK(!private_->has_aborted);
34323412
PREPARE_FOR_EXECUTION(context, ValueDeserializer, ReadValue, Value);
34333413
i::MaybeHandle<i::Object> result;
34343414
if (GetWireFormatVersion() > 0) {
@@ -3445,14 +3425,12 @@ MaybeLocal<Value> ValueDeserializer::ReadValue(Local<Context> context) {
34453425

34463426
void ValueDeserializer::TransferArrayBuffer(uint32_t transfer_id,
34473427
Local<ArrayBuffer> array_buffer) {
3448-
CHECK(!private_->has_aborted);
34493428
private_->deserializer.TransferArrayBuffer(transfer_id,
34503429
Utils::OpenHandle(*array_buffer));
34513430
}
34523431

34533432
void ValueDeserializer::TransferSharedArrayBuffer(
34543433
uint32_t transfer_id, Local<SharedArrayBuffer> shared_array_buffer) {
3455-
CHECK(!private_->has_aborted);
34563434
private_->deserializer.TransferArrayBuffer(
34573435
transfer_id, Utils::OpenHandle(*shared_array_buffer));
34583436
}

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

+1-1
Original file line numberDiff line numberDiff line change
@@ -1119,7 +1119,7 @@ ValueDeserializer::ValueDeserializer(Isolate* isolate,
11191119
: isolate_(isolate),
11201120
delegate_(delegate),
11211121
position_(data.begin()),
1122-
end_(data.begin() + data.length()),
1122+
end_(data.end()),
11231123
id_map_(isolate->global_handles()->Create(
11241124
ReadOnlyRoots(isolate_).empty_fixed_array())) {}
11251125

0 commit comments

Comments
 (0)