@@ -89,6 +89,7 @@ const {
89
89
Dirent,
90
90
getDirents,
91
91
getOptions,
92
+ getValidatedFd,
92
93
getValidatedPath,
93
94
getValidMode,
94
95
handleErrorFromBinding,
@@ -439,7 +440,7 @@ function readFileSync(path, options) {
439
440
}
440
441
441
442
function close ( fd , callback ) {
442
- validateInt32 ( fd , 'fd' , 0 ) ;
443
+ fd = getValidatedFd ( fd ) ;
443
444
callback = makeCallback ( callback ) ;
444
445
445
446
const req = new FSReqCallback ( ) ;
@@ -448,7 +449,7 @@ function close(fd, callback) {
448
449
}
449
450
450
451
function closeSync ( fd ) {
451
- validateInt32 ( fd , 'fd' , 0 ) ;
452
+ fd = getValidatedFd ( fd ) ;
452
453
453
454
const ctx = { } ;
454
455
binding . close ( fd , undefined , ctx ) ;
@@ -498,7 +499,7 @@ function openSync(path, flags, mode) {
498
499
// OR
499
500
// fs.read(fd, {}, callback)
500
501
function read ( fd , buffer , offset , length , position , callback ) {
501
- validateInt32 ( fd , 'fd' , 0 ) ;
502
+ fd = getValidatedFd ( fd ) ;
502
503
503
504
if ( arguments . length <= 3 ) {
504
505
// Assume fs.read(fd, options, callback)
@@ -571,7 +572,7 @@ ObjectDefineProperty(read, internalUtil.customPromisifyArgs,
571
572
// OR
572
573
// fs.readSync(fd, buffer, {}) or fs.readSync(fd, buffer)
573
574
function readSync ( fd , buffer , offset , length , position ) {
574
- validateInt32 ( fd , 'fd' , 0 ) ;
575
+ fd = getValidatedFd ( fd ) ;
575
576
576
577
if ( arguments . length <= 3 ) {
577
578
// Assume fs.read(fd, buffer, options)
@@ -618,7 +619,7 @@ function readv(fd, buffers, position, callback) {
618
619
callback ( err , read || 0 , buffers ) ;
619
620
}
620
621
621
- validateInt32 ( fd , 'fd' , /* min */ 0 ) ;
622
+ fd = getValidatedFd ( fd ) ;
622
623
validateBufferArray ( buffers ) ;
623
624
callback = maybeCallback ( callback || position ) ;
624
625
@@ -635,7 +636,7 @@ ObjectDefineProperty(readv, internalUtil.customPromisifyArgs,
635
636
{ value : [ 'bytesRead' , 'buffers' ] , enumerable : false } ) ;
636
637
637
638
function readvSync ( fd , buffers , position ) {
638
- validateInt32 ( fd , 'fd' , 0 ) ;
639
+ fd = getValidatedFd ( fd ) ;
639
640
validateBufferArray ( buffers ) ;
640
641
641
642
const ctx = { } ;
@@ -658,7 +659,7 @@ function write(fd, buffer, offset, length, position, callback) {
658
659
callback ( err , written || 0 , buffer ) ;
659
660
}
660
661
661
- validateInt32 ( fd , 'fd' , 0 ) ;
662
+ fd = getValidatedFd ( fd ) ;
662
663
663
664
if ( isArrayBufferView ( buffer ) ) {
664
665
callback = maybeCallback ( callback || position || length || offset ) ;
@@ -704,7 +705,7 @@ ObjectDefineProperty(write, internalUtil.customPromisifyArgs,
704
705
// OR
705
706
// fs.writeSync(fd, string[, position[, encoding]]);
706
707
function writeSync ( fd , buffer , offset , length , position ) {
707
- validateInt32 ( fd , 'fd' , 0 ) ;
708
+ fd = getValidatedFd ( fd ) ;
708
709
const ctx = { } ;
709
710
let result ;
710
711
if ( isArrayBufferView ( buffer ) ) {
@@ -739,7 +740,7 @@ function writev(fd, buffers, position, callback) {
739
740
callback ( err , written || 0 , buffers ) ;
740
741
}
741
742
742
- validateInt32 ( fd , 'fd' , 0 ) ;
743
+ fd = getValidatedFd ( fd ) ;
743
744
validateBufferArray ( buffers ) ;
744
745
callback = maybeCallback ( callback || position ) ;
745
746
@@ -758,7 +759,7 @@ ObjectDefineProperty(writev, internalUtil.customPromisifyArgs, {
758
759
} ) ;
759
760
760
761
function writevSync ( fd , buffers , position ) {
761
- validateInt32 ( fd , 'fd' , 0 ) ;
762
+ fd = getValidatedFd ( fd ) ;
762
763
validateBufferArray ( buffers ) ;
763
764
764
765
const ctx = { } ;
@@ -844,7 +845,7 @@ function ftruncate(fd, len = 0, callback) {
844
845
callback = len ;
845
846
len = 0 ;
846
847
}
847
- validateInt32 ( fd , 'fd' , 0 ) ;
848
+ fd = getValidatedFd ( fd ) ;
848
849
validateInteger ( len , 'len' ) ;
849
850
len = MathMax ( 0 , len ) ;
850
851
callback = makeCallback ( callback ) ;
@@ -855,7 +856,7 @@ function ftruncate(fd, len = 0, callback) {
855
856
}
856
857
857
858
function ftruncateSync ( fd , len = 0 ) {
858
- validateInt32 ( fd , 'fd' , 0 ) ;
859
+ fd = getValidatedFd ( fd ) ;
859
860
validateInteger ( len , 'len' ) ;
860
861
len = MathMax ( 0 , len ) ;
861
862
const ctx = { } ;
@@ -937,28 +938,28 @@ function rmSync(path, options) {
937
938
}
938
939
939
940
function fdatasync ( fd , callback ) {
940
- validateInt32 ( fd , 'fd' , 0 ) ;
941
+ fd = getValidatedFd ( fd ) ;
941
942
const req = new FSReqCallback ( ) ;
942
943
req . oncomplete = makeCallback ( callback ) ;
943
944
binding . fdatasync ( fd , req ) ;
944
945
}
945
946
946
947
function fdatasyncSync ( fd ) {
947
- validateInt32 ( fd , 'fd' , 0 ) ;
948
+ fd = getValidatedFd ( fd ) ;
948
949
const ctx = { } ;
949
950
binding . fdatasync ( fd , undefined , ctx ) ;
950
951
handleErrorFromBinding ( ctx ) ;
951
952
}
952
953
953
954
function fsync ( fd , callback ) {
954
- validateInt32 ( fd , 'fd' , 0 ) ;
955
+ fd = getValidatedFd ( fd ) ;
955
956
const req = new FSReqCallback ( ) ;
956
957
req . oncomplete = makeCallback ( callback ) ;
957
958
binding . fsync ( fd , req ) ;
958
959
}
959
960
960
961
function fsyncSync ( fd ) {
961
- validateInt32 ( fd , 'fd' , 0 ) ;
962
+ fd = getValidatedFd ( fd ) ;
962
963
const ctx = { } ;
963
964
binding . fsync ( fd , undefined , ctx ) ;
964
965
handleErrorFromBinding ( ctx ) ;
@@ -1049,7 +1050,7 @@ function fstat(fd, options = { bigint: false }, callback) {
1049
1050
callback = options ;
1050
1051
options = { } ;
1051
1052
}
1052
- validateInt32 ( fd , 'fd' , 0 ) ;
1053
+ fd = getValidatedFd ( fd ) ;
1053
1054
callback = makeStatsCallback ( callback ) ;
1054
1055
1055
1056
const req = new FSReqCallback ( options . bigint ) ;
@@ -1097,7 +1098,7 @@ function hasNoEntryError(ctx) {
1097
1098
}
1098
1099
1099
1100
function fstatSync ( fd , options = { bigint : false , throwIfNoEntry : true } ) {
1100
- validateInt32 ( fd , 'fd' , 0 ) ;
1101
+ fd = getValidatedFd ( fd ) ;
1101
1102
const ctx = { fd } ;
1102
1103
const stats = binding . fstat ( fd , options . bigint , undefined , ctx ) ;
1103
1104
handleErrorFromBinding ( ctx ) ;
@@ -1250,7 +1251,7 @@ function unlinkSync(path) {
1250
1251
}
1251
1252
1252
1253
function fchmod ( fd , mode , callback ) {
1253
- validateInt32 ( fd , 'fd' , 0 ) ;
1254
+ fd = getValidatedFd ( fd ) ;
1254
1255
mode = parseFileMode ( mode , 'mode' ) ;
1255
1256
callback = makeCallback ( callback ) ;
1256
1257
@@ -1260,7 +1261,7 @@ function fchmod(fd, mode, callback) {
1260
1261
}
1261
1262
1262
1263
function fchmodSync ( fd , mode ) {
1263
- validateInt32 ( fd , 'fd' , 0 ) ;
1264
+ fd = getValidatedFd ( fd ) ;
1264
1265
mode = parseFileMode ( mode , 'mode' ) ;
1265
1266
const ctx = { } ;
1266
1267
binding . fchmod ( fd , mode , undefined , ctx ) ;
@@ -1338,7 +1339,7 @@ function lchownSync(path, uid, gid) {
1338
1339
}
1339
1340
1340
1341
function fchown ( fd , uid , gid , callback ) {
1341
- validateInt32 ( fd , 'fd' , 0 ) ;
1342
+ fd = getValidatedFd ( fd ) ;
1342
1343
validateInteger ( uid , 'uid' , - 1 , kMaxUserId ) ;
1343
1344
validateInteger ( gid , 'gid' , - 1 , kMaxUserId ) ;
1344
1345
callback = makeCallback ( callback ) ;
@@ -1349,7 +1350,7 @@ function fchown(fd, uid, gid, callback) {
1349
1350
}
1350
1351
1351
1352
function fchownSync ( fd , uid , gid ) {
1352
- validateInt32 ( fd , 'fd' , 0 ) ;
1353
+ fd = getValidatedFd ( fd ) ;
1353
1354
validateInteger ( uid , 'uid' , - 1 , kMaxUserId ) ;
1354
1355
validateInteger ( gid , 'gid' , - 1 , kMaxUserId ) ;
1355
1356
@@ -1400,7 +1401,7 @@ function utimesSync(path, atime, mtime) {
1400
1401
}
1401
1402
1402
1403
function futimes ( fd , atime , mtime , callback ) {
1403
- validateInt32 ( fd , 'fd' , 0 ) ;
1404
+ fd = getValidatedFd ( fd ) ;
1404
1405
atime = toUnixTimestamp ( atime , 'atime' ) ;
1405
1406
mtime = toUnixTimestamp ( mtime , 'mtime' ) ;
1406
1407
callback = makeCallback ( callback ) ;
@@ -1411,7 +1412,7 @@ function futimes(fd, atime, mtime, callback) {
1411
1412
}
1412
1413
1413
1414
function futimesSync ( fd , atime , mtime ) {
1414
- validateInt32 ( fd , 'fd' , 0 ) ;
1415
+ fd = getValidatedFd ( fd ) ;
1415
1416
atime = toUnixTimestamp ( atime , 'atime' ) ;
1416
1417
mtime = toUnixTimestamp ( mtime , 'mtime' ) ;
1417
1418
const ctx = { } ;
0 commit comments