diff --git a/lib/repl.js b/lib/repl.js index eeee83fee3c70f..1e7ab29bac03ab 100644 --- a/lib/repl.js +++ b/lib/repl.js @@ -953,7 +953,7 @@ REPLServer.prototype.createContext = function() { } const module = new CJSModule(''); - module.paths = CJSModule._resolveLookupPaths('', parentModule) || []; + module.paths = CJSModule._resolveLookupPaths('', parentModule); ObjectDefineProperty(context, 'module', { configurable: true, @@ -1307,21 +1307,17 @@ function complete(line, callback) { } // Works for non-objects try { - let sentinel = 5; let p; if (typeof obj === 'object' || typeof obj === 'function') { p = ObjectGetPrototypeOf(obj); } else { p = obj.constructor ? obj.constructor.prototype : null; } - while (p !== null) { + // Circular refs possible? Let's guard against that. + let sentinel = 5; + while (p !== null && sentinel-- !== 0) { memberGroups.push(filteredOwnPropertyNames(p)); p = ObjectGetPrototypeOf(p); - // Circular refs possible? Let's guard against that. - sentinel--; - if (sentinel <= 0) { - break; - } } } catch {} }