From 6ae5234a9105653b3f947ecac8b3c407a6cd6bfb Mon Sep 17 00:00:00 2001
From: Jason Mulligan <jason.mulligan@avoidwork.com>
Date: Wed, 15 Jun 2016 19:38:29 -0400
Subject: [PATCH] Synchronizing the validation of `addEventListener()`

---
 lib/worker.js | 5 ++++-
 package.json  | 2 +-
 src/worker.js | 5 ++++-
 3 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/lib/worker.js b/lib/worker.js
index 61c5024..38028c3 100644
--- a/lib/worker.js
+++ b/lib/worker.js
@@ -4,6 +4,7 @@ var fs = require("fs");
 var path = require("path");
 var vm = require("vm");
 var noop = require(path.join(__dirname, "noop.js"));
+var events = /^(error|message)$/;
 
 function trim(arg) {
 	return arg.replace(/^(\s+|\t+|\n+)|(\s+|\t+|\n+)$/g, "");
@@ -34,7 +35,9 @@ process.once("message", function (obj) {
 		onmessage: void 0,
 		onerror: void 0,
 		addEventListener: function addEventListener(event, fn) {
-			global["on" + event] = global.self["on" + event] = fn;
+			if (events.test(event)) {
+				global["on" + event] = global.self["on" + event] = fn;
+			}
 		}
 	};
 
diff --git a/package.json b/package.json
index d2e5114..877e353 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
 {
   "name": "tiny-worker",
-  "version": "1.1.3",
+  "version": "1.1.4",
   "description": "Tiny WebWorker for Server",
   "main": "lib/index.js",
   "scripts": {
diff --git a/src/worker.js b/src/worker.js
index f7182d5..74e598d 100644
--- a/src/worker.js
+++ b/src/worker.js
@@ -2,6 +2,7 @@ const fs = require("fs");
 const path = require("path");
 const vm = require("vm");
 const noop = require(path.join(__dirname, "noop.js"));
+const events = /^(error|message)$/;
 
 function trim (arg) {
 	return arg.replace(/^(\s+|\t+|\n+)|(\s+|\t+|\n+)$/g, "");
@@ -32,7 +33,9 @@ process.once("message", obj => {
 		onmessage: void 0,
 		onerror: void 0,
 		addEventListener: (event, fn) => {
-			global["on" + event] = global.self["on" + event] = fn;
+			if (events.test(event)) {
+				global["on" + event] = global.self["on" + event] = fn;
+			}
 		}
 	};
 
-- 
GitLab