fs: extract out validateBuffer function

PR-URL: https://github.com/nodejs/node/pull/17682
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Anatoli Papirovski <apapirovski@mac.com>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
This commit is contained in:
Jon Moss 2017-12-13 19:54:09 -05:00 committed by Joyee Cheung
parent fc8c1b1ded
commit 8983405508
No known key found for this signature in database
GPG Key ID: F586868AAD831D0C

View File

@ -153,6 +153,15 @@ function makeCallback(cb) {
};
}
function validateBuffer(buffer) {
if (!isUint8Array(buffer)) {
const err = new errors.TypeError('ERR_INVALID_ARG_TYPE', 'buffer',
['Buffer', 'Uint8Array']);
Error.captureStackTrace(err, validateBuffer);
throw err;
}
}
function validateFd(fd) {
let err;
@ -745,9 +754,7 @@ fs.openSync = function(path, flags, mode) {
fs.read = function(fd, buffer, offset, length, position, callback) {
validateFd(fd);
if (!isUint8Array(buffer))
throw new errors.TypeError('ERR_INVALID_ARG_TYPE', 'buffer',
['Buffer', 'Uint8Array']);
validateBuffer(buffer);
offset |= 0;
length |= 0;
@ -779,9 +786,7 @@ Object.defineProperty(fs.read, internalUtil.customPromisifyArgs,
fs.readSync = function(fd, buffer, offset, length, position) {
validateFd(fd);
if (!isUint8Array(buffer))
throw new errors.TypeError('ERR_INVALID_ARG_TYPE', 'buffer',
['Buffer', 'Uint8Array']);
validateBuffer(buffer);
offset |= 0;
length |= 0;