Avoid overlapping memcpy() with invalid input with in-place decompression.

With valid files, the safety margin described in lib/decompress_unxz.c
ensures that these buffers cannot overlap. But if the uncompressed size
of the input is larger than the caller thought, which is possible when
the input file is invalid/corrupt, the buffers can overlap. Obviously
the result will then be garbage (and usually the decoder will return
an error too) but no other harm will happen when such an over-run occurs.

This change only affects uncompressed LZMA2 chunks and so this
should have no effect on performance.
2 files changed
tree: dc3e070899450cfc8e6453e8b0e0c42c49cb5506
  1. linux/
  2. userspace/
  3. .gitignore
  4. COPYING
  5. README