From 790d083cea09162551801427756f5c5c380c56a7 Mon Sep 17 00:00:00 2001 From: Evan Hahn Date: Mon, 21 Feb 2022 12:17:50 -0600 Subject: [PATCH] Use object with null prototype for settings --- lib/application.js | 15 ++------------- 1 file changed, 2 insertions(+), 13 deletions(-) diff --git a/lib/application.js b/lib/application.js index 4d98425adc6..a0b8bec7c38 100644 --- a/lib/application.js +++ b/lib/application.js @@ -32,7 +32,6 @@ var setPrototypeOf = require('setprototypeof') * @private */ -var hasOwnProperty = Object.prototype.hasOwnProperty var slice = Array.prototype.slice; /** @@ -63,7 +62,7 @@ app.init = function init() { this.cache = {}; this.engines = {}; - this.settings = {}; + this.settings = Object.create(null); this.defaultConfiguration(); @@ -353,17 +352,7 @@ app.param = function param(name, fn) { app.set = function set(setting, val) { if (arguments.length === 1) { // app.get(setting) - var settings = this.settings - - while (settings && settings !== Object.prototype) { - if (hasOwnProperty.call(settings, setting)) { - return settings[setting] - } - - settings = Object.getPrototypeOf(settings) - } - - return undefined + return this.settings[setting]; } debug('set "%s" to %o', setting, val);