Skip to content

Commit 3fe04a8

Browse files
committed
buffer: out of bounds copy
Fixes: #54573
1 parent d2ad9b4 commit 3fe04a8

File tree

2 files changed

+5
-1
lines changed

2 files changed

+5
-1
lines changed

lib/v8.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -368,7 +368,7 @@ class DefaultDeserializer extends Deserializer {
368368
}
369369
// Copy to an aligned buffer first.
370370
const buffer_copy = Buffer.allocUnsafe(byteLength);
371-
copy(this.buffer, buffer_copy, 0, byteOffset, byteOffset + byteLength);
371+
copy(this.buffer, buffer_copy, 0, byteOffset, byteLength);
372372
return new ctor(buffer_copy.buffer,
373373
buffer_copy.byteOffset,
374374
byteLength / BYTES_PER_ELEMENT);

test/parallel/test-v8-deserialize-buffer.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,7 @@ const v8 = require('v8');
55

66
process.on('warning', common.mustNotCall());
77
v8.deserialize(v8.serialize(Buffer.alloc(0)));
8+
v8.deserialize(v8.serialize({a: new Int32Array(1024)}))
9+
v8.deserialize(v8.serialize({b: new Int16Array(8192)}))
10+
v8.deserialize(v8.serialize({c: new Uint32Array(1024)}))
11+
v8.deserialize(v8.serialize({d: new Uint16Array(8192)}))

0 commit comments

Comments
 (0)