From 08957a0aa62c25aed4bce26f45cbdab6707b1477 Mon Sep 17 00:00:00 2001 From: ericz Date: Wed, 13 Feb 2013 10:16:23 -0800 Subject: [PATCH] prevent missing key errors --- lib/server.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/server.js b/lib/server.js index 91f74e0..0e3f9bd 100644 --- a/lib/server.js +++ b/lib/server.js @@ -345,7 +345,7 @@ PeerServer.prototype._processOutstanding = function(key, id) { }; PeerServer.prototype._removePeer = function(key, id) { - if (this._clients[key][id]) { + if (this._clients[key] && this._clients[key][id]) { this._ips[this._clients[key][id].ip]--; delete this._clients[key][id]; } @@ -405,6 +405,9 @@ PeerServer.prototype._handleTransmission = function(key, message) { PeerServer.prototype._generateClientId = function(key) { var clientId = util.randomId(); + if (!this._clients[key]) { + return clientId; + } while (!!this._clients[key][clientId]) { clientId = util.randomId(); }