From 1847696f4b6284bad45f452bc8595927074118dc Mon Sep 17 00:00:00 2001 From: Rich Trott Date: Tue, 5 Feb 2019 15:41:18 -0800 Subject: util: protect against monkeypatched Object prototype for inspect() Prevent affects of monkeypatching (for example) Object.keys() when calling util.inspect(). PR-URL: https://github.com/nodejs/node/pull/25953 Reviewed-By: Anna Henningsen Reviewed-By: Joyee Cheung Reviewed-By: Colin Ihrig --- test/parallel/test-util-primordial-monkeypatching.js | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 test/parallel/test-util-primordial-monkeypatching.js (limited to 'test') diff --git a/test/parallel/test-util-primordial-monkeypatching.js b/test/parallel/test-util-primordial-monkeypatching.js new file mode 100644 index 0000000000..bf282a1212 --- /dev/null +++ b/test/parallel/test-util-primordial-monkeypatching.js @@ -0,0 +1,11 @@ +'use strict'; + +// Monkeypatch Object.keys() so that it throws an unexpected error. This tests +// that `util.inspect()` is unaffected by monkey-patching `Object`. + +require('../common'); +const assert = require('assert'); +const util = require('util'); + +Object.keys = () => { throw new Error('fhqwhgads'); }; +assert.strictEqual(util.inspect({}), '{}'); -- cgit v1.2.3