0
0
mirror of https://github.com/nodejs/node.git synced 2024-12-01 16:10:02 +01:00
nodejs/lib
Sakthipriyan Vairamani (thefourtheye) ca37fa527f buffer: convert offset & length to int properly
As per ecma-262 2015's #sec-%typedarray%-buffer-byteoffset-length,
`offset` would be an integer, not a 32 bit unsigned integer. Also,
`length` would be an integer with the maximum value of 2^53 - 1, not a
32 bit unsigned integer.

This would be a problem because, if we create a buffer from an
arraybuffer, from an offset which is greater than 2^32, it would be
actually pointing to a different location in arraybuffer. For example,
if we use 2^40 as offset, then the actual value used will be 0,
because `byteOffset >>>= 0` will convert `byteOffset` to a 32 bit
unsigned int, which is based on 2^32 modulo.

PR-URL: https://github.com/nodejs/node/pull/9492

Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
2016-11-26 11:15:34 +05:30
..
internal buffer: convert offset & length to int properly 2016-11-26 11:15:34 +05:30
_debug_agent.js debugger: use arrow function for lexical this 2016-08-18 16:44:38 -07:00
_debugger.js debugger: remove obsolete setTimeout 2016-06-07 13:32:05 -07:00
_http_agent.js http: name anonymous functions 2016-10-18 15:29:38 -07:00
_http_client.js http: name anonymous functions in _http_client 2016-10-18 15:38:33 -07:00
_http_common.js http: fix connection upgrade checks 2016-08-26 10:17:34 -04:00
_http_incoming.js http: name anonymous functions in _http_incoming 2016-10-18 15:38:36 -07:00
_http_outgoing.js http: add debug message for invalid header value 2016-10-28 09:19:17 -07:00
_http_server.js http: name anonymous functions in _http_server 2016-10-18 15:38:42 -07:00
_linklist.js lib: use emitWarning instead of printDeprecationMessage 2016-09-02 13:15:22 -07:00
_stream_duplex.js node: allow multiple arguments passed to nextTick 2015-04-15 17:02:21 -06:00
_stream_passthrough.js lib: use const to define constants 2015-01-21 16:21:31 -05:00
_stream_readable.js streams: fix regression in unpipe() 2016-10-19 14:00:02 +01:00
_stream_transform.js src: fixes misplaced comment 2016-09-30 09:47:09 -07:00
_stream_wrap.js test,lib,benchmark: match function names 2016-10-19 22:20:27 -07:00
_stream_writable.js test: writable stream ending state 2016-10-28 08:50:45 +02:00
_tls_common.js tls: improve createSecureContext in _tls_common 2016-09-28 09:15:27 +08:00
_tls_legacy.js test,lib,benchmark: match function names 2016-10-19 22:20:27 -07:00
_tls_wrap.js tls: fix leak of WriteWrap+TLSWrap combination 2016-11-15 15:15:05 -05:00
.eslintrc tools: avoid let in for loops 2016-10-14 13:37:12 -07:00
assert.js assert: name anonymous functions 2016-10-19 08:57:20 -07:00
buffer.js buffer: convert offset & length to int properly 2016-11-26 11:15:34 +05:30
child_process.js child_process: remove extra newline in errors 2016-11-02 19:25:32 -04:00
cluster.js cluster: remove unused backlog argument 2016-10-03 12:34:46 +02:00
console.js console: name anonymous functions 2016-10-16 22:01:02 +02:00
constants.js src: refactor require('constants') 2016-05-17 11:05:18 -07:00
crypto.js crypto: return this in setAuthTag/setAAD 2016-11-20 01:16:26 +01:00
dgram.js dgram: use Buffer.alloc(0) for zero-size buffers 2016-10-06 15:27:52 -07:00
dns.js dns: implement {ttl: true} for dns.resolve4() 2016-11-18 22:01:11 +01:00
domain.js test,lib,benchmark: match function names 2016-10-19 22:20:27 -07:00
events.js events: remove unnecessary checks 2016-10-31 15:51:57 -04:00
fs.js fs: export realpathCacheKey from internal/fs 2016-11-16 20:22:18 +01:00
http.js http: name anonymous functions in http 2016-10-18 15:38:43 -07:00
https.js https: name anonymous functions in https 2016-11-25 13:55:17 -05:00
module.js fs: export realpathCacheKey from internal/fs 2016-11-16 20:22:18 +01:00
net.js net: name anonymous functions 2016-11-01 23:40:44 +01:00
os.js os: deprecate tmpDir() in favour of tmpdir() 2016-06-30 14:52:13 +02:00
path.js path: fallback to process cwd when resolving drive cwd 2016-09-24 01:14:56 +03:00
process.js src: remove excessive license boilerplate 2015-01-27 16:35:05 +11:00
punycode.js lib: remove let from for loops 2016-10-04 12:17:32 -04:00
querystring.js benchmark,test,lib: remove extra spaces 2016-05-11 23:18:16 -07:00
readline.js readline: use icu based string width calculation 2016-10-25 09:00:45 -07:00
repl.js Revert "repl: disable Ctrl+C support on win32 for now" 2016-11-16 19:37:05 +01:00
stream.js lib,src: remove usage of events.EventEmitter 2015-09-23 00:23:08 +05:30
string_decoder.js string_decoder: fix bad utf8 character handling 2016-06-23 23:18:10 -04:00
sys.js lib: use emitWarning instead of printDeprecationMessage 2016-09-02 13:15:22 -07:00
timers.js timers: use consistent checks for canceled timers 2016-11-22 12:28:41 -05:00
tls.js lib: remove let from for loops 2016-10-04 12:17:32 -04:00
tty.js tty: set the handle to blocking mode 2016-08-10 23:41:28 +02:00
url.js lib,tools: remove unneeded escaping of / 2016-11-23 22:06:24 -08:00
util.js intl: Add more versions from ICU 2016-10-26 19:24:22 -07:00
v8.js src: extend HeapStatistics with new fields 2016-11-20 02:23:00 +01:00
vm.js vm: name anonymous functions 2016-11-06 20:18:56 +02:00
zlib.js zlib: fix linting recently-introduced lint error 2016-11-08 16:40:56 -08:00