tree-diff: catch integer overflow in combine_diff_path allocation
commit5b442c4f2723211ce0d862571e88ee206bfd51bf
authorJeff King <peff@peff.net>
Fri, 19 Feb 2016 11:21:30 +0000 (19 06:21 -0500)
committerJunio C Hamano <gitster@pobox.com>
Fri, 19 Feb 2016 17:40:37 +0000 (19 09:40 -0800)
treea699d4fdd632c01c0a0bd29a59e490d112aede43
parent320d0b493a259db3b481f985545b244438e6c086
tree-diff: catch integer overflow in combine_diff_path allocation

A combine_diff_path struct has two "flex" members allocated
alongside the struct: a string to hold the pathname, and an
array of parent pointers. We use an "int" to compute this,
meaning we may easily overflow it if the pathname is
extremely long.

We can fix this by using size_t, and checking for overflow
with the st_add helper.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
diff.h
tree-diff.c