◐ Shell
clean mode source ↗

fs: don't limit ftruncate() length to 32 bits · nodejs/node@fc0b361

Original file line numberDiff line numberDiff line change

@@ -86,7 +86,6 @@ const {

8686

const {

8787

isUint32,

8888

validateInteger,

89-

validateInt32,

9089

validateUint32

9190

} = require('internal/validators');

9291

@@ -788,11 +787,7 @@ fs.ftruncate = function(fd, len = 0, callback) {

788787

len = 0;

789788

}

790789

validateUint32(fd, 'fd');

791-

// TODO(BridgeAR): This does not seem right.

792-

// There does not seem to be any validation before and if there is any, it

793-

// should work similar to validateUint32 or not have a upper cap at all.

794-

// This applies to all usage of `validateInt32(len, 'len')`.

795-

validateInt32(len, 'len');

790+

validateInteger(len, 'len');

796791

len = Math.max(0, len);

797792

const req = new FSReqWrap();

798793

req.oncomplete = makeCallback(callback);

@@ -801,7 +796,7 @@ fs.ftruncate = function(fd, len = 0, callback) {

801796
802797

fs.ftruncateSync = function(fd, len = 0) {

803798

validateUint32(fd, 'fd');

804-

validateInt32(len, 'len');

799+

validateInteger(len, 'len');

805800

len = Math.max(0, len);

806801

const ctx = {};

807802

binding.ftruncate(fd, len, undefined, ctx);