zstd: Fix minetest.decompress lockup when data ends too early

This commit is contained in:
SmallJoker 2024-08-24 10:50:44 +02:00
parent 02db521c80
commit 5861192752

@ -262,6 +262,8 @@ void decompressZstd(std::istream &is, std::ostream &os)
is.read(input_buffer, bufsize); is.read(input_buffer, bufsize);
input.size = is.gcount(); input.size = is.gcount();
input.pos = 0; input.pos = 0;
if (input.size == 0)
throw SerializationError("decompressZstd: data ended too early");
} }
ret = ZSTD_decompressStream(stream.get(), &output, &input); ret = ZSTD_decompressStream(stream.get(), &output, &input);