◐ Shell
clean mode source ↗

fs: improve fchmod{Sync} validation · nodejs/node@db0bb52

Original file line numberDiff line numberDiff line change

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

8686

isUint32,

8787

validateAndMaskMode,

8888

validateInteger,

89+

validateInt32,

8990

validateUint32

9091

} = require('internal/validators');

9192

@@ -1054,7 +1055,7 @@ fs.unlinkSync = function(path) {

10541055

};

10551056
10561057

fs.fchmod = function(fd, mode, callback) {

1057-

validateUint32(fd, 'fd');

1058+

validateInt32(fd, 'fd', 0);

10581059

mode = validateAndMaskMode(mode, 'mode');

10591060

callback = makeCallback(callback);

10601061

@@ -1064,7 +1065,7 @@ fs.fchmod = function(fd, mode, callback) {

10641065

};

10651066
10661067

fs.fchmodSync = function(fd, mode) {

1067-

validateUint32(fd, 'fd');

1068+

validateInt32(fd, 'fd', 0);

10681069

mode = validateAndMaskMode(mode, 'mode');

10691070

const ctx = {};

10701071

binding.fchmod(fd, mode, undefined, ctx);