Hi Aleksei, On Thu, Nov 23, 2023 at 03:31:47PM +0000, Aleksei Vetrov wrote: > Decompression functions like __libelf_decompress_zlib check that > decompressed data has the same size as it was declared in the header > (size_out argument). The same check is now added to > __libelf_decompress_zstd to make sure that the whole allocated buffer is > initialized. > > * libelf/elf_compress.c (__libelf_decompress_zstd): Use return value > of ZSTD_decompress to check that decompressed data size is the > same as size_out of the buffer that was allocated.
Thanks, this makes sense. If the decompressed size isn't what was encoded in the Chdr then we could reduce the size of the d_buf/d_size, but that probably is not what the user expects. Flagging it as bad/inconsistent data makes sense. Especially since we do the same for zlib compressed data. Pushed, Mark