diff options
author | Daniel Bevenius <daniel.bevenius@gmail.com> | 2017-09-17 12:11:51 +0200 |
---|---|---|
committer | Daniel Bevenius <daniel.bevenius@gmail.com> | 2017-09-22 07:12:00 +0100 |
commit | f4899ac4c07658c1857fb3a41ef305cb2cfa40e4 (patch) | |
tree | 525fadfc58d7691cd7ab2fb38e00610433a33c5c /test/parallel/test-dgram-socket-buffer-size.js | |
parent | 3888a576ac83239d8d3d2fc985e7ea1856dac83e (diff) | |
download | android-node-v8-f4899ac4c07658c1857fb3a41ef305cb2cfa40e4.tar.gz android-node-v8-f4899ac4c07658c1857fb3a41ef305cb2cfa40e4.tar.bz2 android-node-v8-f4899ac4c07658c1857fb3a41ef305cb2cfa40e4.zip |
src: use UV_EINVAL instead of EINVAL in udp_wrap
Currently if the buffer size exceeds the maximum int size the following
error will be thrown:
dgram.js:180
throw new errors.Error('ERR_SOCKET_BUFFER_SIZE', e);
^
Error [ERR_SOCKET_BUFFER_SIZE]: Could not get or set buffer size: Error:
Unknown system error 22: Unknown system error 22, uv_recv_buffer_size
at bufferSize (dgram.js:180:11)
It looks like perhaps UV_EINVAL was intended to give the following error
message instead:
dgram.js:180
throw new errors.Error('ERR_SOCKET_BUFFER_SIZE', e);
^
Error [ERR_SOCKET_BUFFER_SIZE]: Could not get or set buffer size: Error:
EINVAL: invalid argument, uv_recv_buffer_size
at bufferSize (dgram.js:180:11)
This commit changes EINVAL to use UV_EINVAL.
PR-URL: https://github.com/nodejs/node/pull/15444
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Diffstat (limited to 'test/parallel/test-dgram-socket-buffer-size.js')
-rw-r--r-- | test/parallel/test-dgram-socket-buffer-size.js | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/test/parallel/test-dgram-socket-buffer-size.js b/test/parallel/test-dgram-socket-buffer-size.js index 13fbd4fb4b..7d6e2bfcc5 100644 --- a/test/parallel/test-dgram-socket-buffer-size.js +++ b/test/parallel/test-dgram-socket-buffer-size.js @@ -72,3 +72,24 @@ const dgram = require('dgram'); socket.close(); })); } + +function checkBufferSizeError(type, size) { + const errorObj = { + code: 'ERR_SOCKET_BUFFER_SIZE', + type: Error, + message: 'Could not get or set buffer size: Error: EINVAL: ' + + `invalid argument, uv_${type}_buffer_size` + }; + const functionName = `set${type.charAt(0).toUpperCase()}${type.slice(1)}` + + 'BufferSize'; + const socket = dgram.createSocket('udp4'); + socket.bind(common.mustCall(() => { + assert.throws(() => { + socket[functionName](size); + }, common.expectsError(errorObj)); + socket.close(); + })); +} + +checkBufferSizeError('recv', 2147483648); +checkBufferSizeError('send', 2147483648); |