Skip to content

Commit

Permalink
zlib: throw TypeError if callback is missing
Browse files Browse the repository at this point in the history
Get a proper stack trace when no callback is passed.

PR-URL: #24929
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Franziska Hinkelmann <franziska.hinkelmann@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Denys Otrishko <shishugi@gmail.com>
Reviewed-By: Weijia Wang <starkwang@126.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
  • Loading branch information
addaleax committed Dec 12, 2018
1 parent a0bdeb5 commit 9a26546
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 0 deletions.
2 changes: 2 additions & 0 deletions lib/zlib.js
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,8 @@ for (var ck = 0; ck < ckeys.length; ck++) {
}

function zlibBuffer(engine, buffer, callback) {
if (typeof callback !== 'function')
throw new ERR_INVALID_ARG_TYPE('callback', 'function', callback);
// Streams do not support non-Buffer ArrayBufferViews yet. Convert it to a
// Buffer without copying.
if (isArrayBufferView(buffer) &&
Expand Down
10 changes: 10 additions & 0 deletions test/parallel/test-zlib-convenience-methods.js
Original file line number Diff line number Diff line change
Expand Up @@ -119,3 +119,13 @@ for (const [type, expect] of [
}
}
}

common.expectsError(
() => zlib.gzip('abc'),
{
code: 'ERR_INVALID_ARG_TYPE',
type: TypeError,
message: 'The "callback" argument must be of type function. ' +
'Received type undefined'
}
);

0 comments on commit 9a26546

Please sign in to comment.