diff options
author | AdityaSrivast <yashsri421@gmail.com> | 2018-06-11 19:14:52 +0530 |
---|---|---|
committer | Joyee Cheung <joyeec9h3@gmail.com> | 2018-07-15 19:09:19 +0800 |
commit | 42bded83e8b71dda885c173d33b0190cdee3d0da (patch) | |
tree | 54272a8b7586424acc7abdebd0bcb9d1b963b8f5 /lib/fs.js | |
parent | c7707a1ccaf4cb17e18f4bf11fb04a242d34bdff (diff) | |
download | android-node-v8-42bded83e8b71dda885c173d33b0190cdee3d0da.tar.gz android-node-v8-42bded83e8b71dda885c173d33b0190cdee3d0da.tar.bz2 android-node-v8-42bded83e8b71dda885c173d33b0190cdee3d0da.zip |
fs: throw ERR_INVALID_ARG_VALUE when buffer being written is empty
Fixes: https://github.com/nodejs/node/issues/21193
PR-URL: https://github.com/nodejs/node/pull/21262
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Diffstat (limited to 'lib/fs.js')
-rw-r--r-- | lib/fs.js | 11 |
1 files changed, 11 insertions, 0 deletions
@@ -47,6 +47,7 @@ const { Buffer, kMaxLength } = require('buffer'); const errors = require('internal/errors'); const { ERR_FS_FILE_TOO_LARGE, + ERR_INVALID_ARG_VALUE, ERR_INVALID_ARG_TYPE, ERR_INVALID_CALLBACK } = errors.codes; @@ -457,6 +458,11 @@ function read(fd, buffer, offset, length, position, callback) { }); } + if (buffer.length === 0) { + throw new ERR_INVALID_ARG_VALUE('buffer', buffer, + 'is empty and cannot be written'); + } + validateOffsetLengthRead(offset, length, buffer.length); if (!Number.isSafeInteger(position)) @@ -487,6 +493,11 @@ function readSync(fd, buffer, offset, length, position) { return 0; } + if (buffer.length === 0) { + throw new ERR_INVALID_ARG_VALUE('buffer', buffer, + 'is empty and cannot be written'); + } + validateOffsetLengthRead(offset, length, buffer.length); if (!Number.isSafeInteger(position)) |