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/internal/fs/promises.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/internal/fs/promises.js')
-rw-r--r-- | lib/internal/fs/promises.js | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/internal/fs/promises.js b/lib/internal/fs/promises.js index fac430bbe2..f38a3e59be 100644 --- a/lib/internal/fs/promises.js +++ b/lib/internal/fs/promises.js @@ -12,6 +12,7 @@ const { Buffer, kMaxLength } = require('buffer'); const { ERR_FS_FILE_TOO_LARGE, ERR_INVALID_ARG_TYPE, + ERR_INVALID_ARG_VALUE, ERR_METHOD_NOT_IMPLEMENTED } = require('internal/errors').codes; const { getPathFromURL } = require('internal/url'); @@ -208,6 +209,11 @@ async function read(handle, buffer, offset, length, position) { if (length === 0) return { bytesRead: length, buffer }; + 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)) |