-
-
Notifications
You must be signed in to change notification settings - Fork 32.3k
Closed
Labels
confirmed-bugIssues with confirmed bugs.Issues with confirmed bugs.zlibIssues and PRs related to the zlib subsystem.Issues and PRs related to the zlib subsystem.
Description
- v9.1.0:
- Linux 4.10.0-38-generic rename node.js -> io.js #42~16.04.1-Ubuntu SMP x86_64 GNU/Linux:
- zlib:
Zlib throws an exception when trying to decompress a previously compressed empty buffer. The code below does not enter any catch
block in node 8.x.x, but enters all of them in node 9.1.0. It seems like the compression part behaves exactly the same in 8.x.x and 9.1.0, but the decompression part definitely not.
'use strict';
const assert = require('assert');
const zlib = require('zlib');
const emptyBuffer = new Buffer(0);
let compressed, decompressed
//deflateRawSync
compressed = zlib.deflateRawSync(emptyBuffer);
console.log(compressed);
try {
decompressed = zlib.inflateRawSync(compressed);
assert(decompressed.compare(emptyBuffer) === 0);
} catch (e) { console.log('deflateRawSync', e);}
//deflateSync
compressed = zlib.deflateSync(emptyBuffer);
console.log(compressed);
try {
decompressed = zlib.inflateSync(compressed);
assert(decompressed.compare(emptyBuffer) === 0);
} catch (e) { console.log('deflateSync', e);}
//gzipSync
compressed = zlib.gzipSync(emptyBuffer);
console.log(compressed);
try {
decompressed = zlib.gunzipSync(compressed);
assert(decompressed.compare(emptyBuffer) === 0);
} catch (e) { console.log('gzipSync', e);}
(edited by @addaleax: syntax highlighting)
Metadata
Metadata
Assignees
Labels
confirmed-bugIssues with confirmed bugs.Issues with confirmed bugs.zlibIssues and PRs related to the zlib subsystem.Issues and PRs related to the zlib subsystem.