From 74d91390494becb06af12e1b353f21a81eb1bbfb Mon Sep 17 00:00:00 2001 From: Astro Date: Thu, 11 Dec 2014 16:22:17 +0100 Subject: [PATCH] server _onHttpRequest(): ensure non-empty params --- server.js | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/server.js b/server.js index 8fb4aaa..b5a3cdb 100644 --- a/server.js +++ b/server.js @@ -127,21 +127,26 @@ Server.prototype.getSwarm = function (binaryInfoHash) { Server.prototype._onHttpRequest = function (req, res) { var self = this - + var error var params try { params = parseHttpRequest(req, { trustProxy: self._trustProxy }) } catch (err) { - debug('sent error %s', err.message) + error = err + } + + if (!error && !params) error = new Error('Empty HTTP parameters') + if (error) { + debug('sent error %s', error.message) res.end(bencode.encode({ - 'failure reason': err.message + 'failure reason': error.message })) // even though it's an error for the client, it's just a warning for the server. // don't crash the server because a client sent bad data :) - self.emit('warning', err) + self.emit('warning', error) return }