diff --git a/src/node_zlib.cc b/src/node_zlib.cc index 726e7e2d4e8e85..d0077c282ba193 100644 --- a/src/node_zlib.cc +++ b/src/node_zlib.cc @@ -736,6 +736,7 @@ class ZlibStream final : public CompressionStream { CHECK(args[4]->IsUint32Array()); Local array = args[4].As(); + CHECK_GE(array->Length(), 2); Local ab = array->Buffer(); uint32_t* write_result = static_cast(ab->Data()); @@ -809,6 +810,7 @@ class BrotliCompressionStream final : CHECK(args.Length() == 3 && "init(params, writeResult, writeCallback)"); CHECK(args[1]->IsUint32Array()); + CHECK_GE(args[1].As()->Length(), 2); uint32_t* write_result = reinterpret_cast(Buffer::Data(args[1])); CHECK(args[2]->IsFunction()); @@ -890,6 +892,7 @@ class ZstdStream final : public CompressionStream { ASSIGN_OR_RETURN_UNWRAP(&wrap, args.This()); CHECK(args[2]->IsUint32Array()); + CHECK_GE(args[2].As()->Length(), 2); uint32_t* write_result = reinterpret_cast(Buffer::Data(args[2])); CHECK(args[3]->IsFunction());