From 5ee39f9cd7d33fa38859b82557052a2ce877c8de Mon Sep 17 00:00:00 2001 From: Josep Sayol Date: Sat, 1 Jul 2017 11:50:06 +0200 Subject: [PATCH] refactor(database): Prevent using uninitialized array --- src/database/core/util/EventEmitter.ts | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/database/core/util/EventEmitter.ts b/src/database/core/util/EventEmitter.ts index 3d4a5ed88c1..f89f9cd5b61 100644 --- a/src/database/core/util/EventEmitter.ts +++ b/src/database/core/util/EventEmitter.ts @@ -32,13 +32,15 @@ export abstract class EventEmitter { * @param {...*} var_args */ trigger(eventType, var_args) { - // Clone the list, since callbacks could add/remove listeners. - var listeners = [ - ...this.listeners_[eventType] - ]; + if (Array.isArray(this.listeners_[eventType])) { + // Clone the list, since callbacks could add/remove listeners. + var listeners = [ + ...this.listeners_[eventType] + ]; - for (var i = 0; i < listeners.length; i++) { - listeners[i].callback.apply(listeners[i].context, Array.prototype.slice.call(arguments, 1)); + for (var i = 0; i < listeners.length; i++) { + listeners[i].callback.apply(listeners[i].context, Array.prototype.slice.call(arguments, 1)); + } } }