From 571d0e0c25ee65a3246ddef95448faa5462d97b4 Mon Sep 17 00:00:00 2001 From: Romain Beaumont Date: Sun, 20 May 2018 02:50:26 +0200 Subject: [PATCH] more decompression more reliable : ignore packet that cannot be decompressed do print an error though, because servers should not send wrong packets mitigate #462 --- src/transforms/compression.js | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/transforms/compression.js b/src/transforms/compression.js index 961d096..09375f5 100644 --- a/src/transforms/compression.js +++ b/src/transforms/compression.js @@ -52,7 +52,17 @@ class Decompressor extends Transform { return cb() } else { zlib.inflate(chunk.slice(size), (err, newBuf) => { - if (err) { return cb(err) } + if (err) { + console.error('problem inflating chunk') + console.error('uncompressed length ' + value) + console.error('compressed length ' + chunk.length) + console.error('hex ' + chunk.toString('hex')) + console.log(err) + return cb() + } + if (newBuf.length !== value) { + console.error('uncompressed length should be ' + value + ' but is ' + newBuf.length) + } this.push(newBuf) return cb() })