Patch for Malformed PDU with cmdLength 0. Issue #25.

This commit is contained in:
Qasim Ayyaz Khan
2018-06-13 08:00:11 +00:00
parent efcc303ec0
commit 44a3859dc9
+10
View File
@@ -641,6 +641,16 @@ function session(sock) {
while (returnObj.dataQueue.length > 4) {
const cmdLength = parseInt(returnObj.dataQueue.readUInt32BE(0)); // Get this commands length
// Malformed PDU with command length 0
if (cmdLength <= 0) {
// Since PDU is Malformed we need to discard buffer.
log.silly(thisLogPrefix + 'Malformed PDU with 0 Length. Discarding buffer.');
returnObj.dataQueue = returnObj.dataQueue.slice(0, returnObj.dataQueue.length);
// Since PDU is malformed we need to close socket since we cannot trust data from now on.
returnObj.closeSocket();
}
let pdu;
log.silly(thisLogPrefix + 'Processing ' + cmdLength + ' bytes of data');