From 1531091ab5bc955a87cd3ffa565c1f98d0043a64 Mon Sep 17 00:00:00 2001 From: Ben Youngblood Date: Thu, 5 Jan 2012 12:35:57 -0700 Subject: [PATCH] fixed a bug where a packet less than 16 bytes long would crash the server --- lib/data-handler.js | 2 +- lib/server-connection.js | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/data-handler.js b/lib/data-handler.js index ea482da..5cea6c9 100644 --- a/lib/data-handler.js +++ b/lib/data-handler.js @@ -40,7 +40,7 @@ exports.fromBuffer = function(pduBuffer, splitBuffer) { // something wrong, and we should probably emit an error from here instead // of returning false (TODO) if (pduBuffer.length < 16) { - return false; + throw "not enough data"; } bufferPosition = 0; diff --git a/lib/server-connection.js b/lib/server-connection.js index d6dca98..c13ae16 100644 --- a/lib/server-connection.js +++ b/lib/server-connection.js @@ -90,6 +90,7 @@ var serverConnection = function(socket, server, closeConnectionServerCallback, c } catch (err) { self.generic_nack(); self.emit('error', client, err); + return; } pdus = parsedBuffer.pdus;