diff --git a/src/socket.io/index.js b/src/socket.io/index.js index 58134ae2e2..60c7a8cd27 100644 --- a/src/socket.io/index.js +++ b/src/socket.io/index.js @@ -13,7 +13,7 @@ const logger = require('../logger'); const plugins = require('../plugins'); const ratelimit = require('../middleware/ratelimit'); -const Namespaces = {}; +const Namespaces = Object.create(null); const Sockets = module.exports; @@ -123,7 +123,7 @@ async function onMessage(socket, payload) { const parts = eventName.toString().split('.'); const namespace = parts[0]; const methodToCall = parts.reduce((prev, cur) => { - if (prev !== null && prev[cur]) { + if (prev !== null && prev[cur] && (!prev.hasOwnProperty || prev.hasOwnProperty(cur))) { return prev[cur]; } return null;