summaryrefslogtreecommitdiff
path: root/lib/fs.js
diff options
context:
space:
mode:
authorAdityaSrivast <yashsri421@gmail.com>2018-06-11 19:14:52 +0530
committerJoyee Cheung <joyeec9h3@gmail.com>2018-07-15 19:09:19 +0800
commit42bded83e8b71dda885c173d33b0190cdee3d0da (patch)
tree54272a8b7586424acc7abdebd0bcb9d1b963b8f5 /lib/fs.js
parentc7707a1ccaf4cb17e18f4bf11fb04a242d34bdff (diff)
downloadandroid-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.js11
1 files changed, 11 insertions, 0 deletions
diff --git a/lib/fs.js b/lib/fs.js
index d770c6ecd2..2c2a053c7f 100644
--- a/lib/fs.js
+++ b/lib/fs.js
@@ -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))