]> git.ipfire.org Git - thirdparty/git.git/commit
patch-delta: fix oob read
authorJann Horn <jannh@google.com>
Thu, 30 Aug 2018 07:09:45 +0000 (03:09 -0400)
committerJunio C Hamano <gitster@pobox.com>
Thu, 30 Aug 2018 17:30:22 +0000 (10:30 -0700)
commit21870efc4aab4732ba2c422ef116597c54e4a8ec
tree26867e6b0d64b7a49c4d73bf8760e54385085a32
parent9caf0107a86d11f059554e55c461f8e7657d89bf
patch-delta: fix oob read

If `cmd` is in the range [0x01,0x7f] and `cmd > top-data`, the
`memcpy(out, data, cmd)` can copy out-of-bounds data from after `delta_buf`
into `dst_buf`.

This is not an exploitable bug because triggering the bug increments the
`data` pointer beyond `top`, causing the `data != top` sanity check after
the loop to trigger and discard the destination buffer - which means that
the result of the out-of-bounds read is never used for anything.

Signed-off-by: Jann Horn <jannh@google.com>
Signed-off-by: Jeff King <peff@peff.net>
Reviewed-by: Nicolas Pitre <nico@fluxnic.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
patch-delta.c
t/t5303-pack-corruption-resilience.sh