summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDivy Srivastava <dj.srivastava23@gmail.com>2023-12-13 22:28:56 +0530
committerGitHub <noreply@github.com>2023-12-13 09:58:56 -0700
commit38002ffdd7e602e666e48d39fc84f7093fad9dff (patch)
tree86832b04d70b497612ee7545325ae42bdd448d4f
parent10ab8c1ef1ccc93bd810c5636e2a70bb7c37e91e (diff)
fix(zlib): handle no flush flag in handle_.write (#21432)
Fixes https://github.com/denoland/deno/issues/21096
-rw-r--r--cli/tests/unit_node/zlib_test.ts15
-rw-r--r--ext/node/polyfills/_zlib_binding.mjs2
2 files changed, 16 insertions, 1 deletions
diff --git a/cli/tests/unit_node/zlib_test.ts b/cli/tests/unit_node/zlib_test.ts
index 5f82b1202..fc9eaeb5b 100644
--- a/cli/tests/unit_node/zlib_test.ts
+++ b/cli/tests/unit_node/zlib_test.ts
@@ -81,3 +81,18 @@ Deno.test(
await promise;
},
);
+
+Deno.test(
+ "zlib flush i32",
+ // FIXME: Handle is not closed properly
+ { sanitizeResources: false },
+ function () {
+ const handle = createDeflate({
+ // @ts-expect-error: passing non-int flush value
+ flush: "",
+ });
+
+ handle.end();
+ handle.destroy();
+ },
+);
diff --git a/ext/node/polyfills/_zlib_binding.mjs b/ext/node/polyfills/_zlib_binding.mjs
index 0b155cfd5..30bd1400a 100644
--- a/ext/node/polyfills/_zlib_binding.mjs
+++ b/ext/node/polyfills/_zlib_binding.mjs
@@ -120,7 +120,7 @@ class Zlib {
core.opAsync(
"op_zlib_write_async",
this.#handle,
- flush,
+ flush ?? Z_NO_FLUSH,
input,
in_off,
in_len,