tty: initialize winSize array with values

Assigning to a holey array in the native layer may crash if it has
getters that throw.

Refs: https://github.com/nodejs/node/issues/54186
PR-URL: https://github.com/nodejs/node/pull/54281
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
This commit is contained in:
Michaël Zasso authored and GitHub committed 2024-08-11 06:32:13 +00:00
1 parent 90f257176c
commit 298ff4fdb1
1 file changed
+2 -3
+2 -3
View File
@@ -22,7 +22,6 @@
'use strict';
const {
Array,
NumberIsInteger,
ObjectSetPrototypeOf,
} = primordials;
@@ -111,7 +110,7 @@ function WriteStream(fd) {
// Ref: https://github.com/nodejs/node/pull/1771#issuecomment-119351671
this._handle.setBlocking(true);
const winSize = new Array(2);
const winSize = [0, 0];
const err = this._handle.getWindowSize(winSize);
if (!err) {
this.columns = winSize[0];
@@ -131,7 +130,7 @@ WriteStream.prototype.hasColors = hasColors;
WriteStream.prototype._refreshSize = function() {
const oldCols = this.columns;
const oldRows = this.rows;
const winSize = new Array(2);
const winSize = [0, 0];
const err = this._handle.getWindowSize(winSize);
if (err) {
this.emit('error', new ErrnoException(err, 'getWindowSize'));