merge-file: enforce MAX_XDIFF_SIZE on incoming files
commit83c4d380171a2ecd24dd2e04072692ec54a7aaa5
authorJeff King <peff@peff.net>
Fri, 25 Sep 2015 21:58:09 +0000 (25 17:58 -0400)
committerJunio C Hamano <gitster@pobox.com>
Mon, 28 Sep 2015 21:58:13 +0000 (28 14:58 -0700)
tree7d06636113e07f74fa407b8e673595d3045d8a41
parentdcd1742e56ebb944c4ff62346da4548e1e3be675
merge-file: enforce MAX_XDIFF_SIZE on incoming files

The previous commit enforces MAX_XDIFF_SIZE at the
interfaces to xdiff: xdi_diff (which calls xdl_diff) and
ll_xdl_merge (which calls xdl_merge).

But we have another direct call to xdl_merge in
merge-file.c. If it were written today, this probably would
just use the ll_merge machinery. But it predates that code,
and uses slightly different options to xdl_merge (e.g.,
ZEALOUS_ALNUM).

We could try to abstract out an xdi_merge to match the
existing xdi_diff, but even that is difficult. Rather than
simply report error, we try to treat large files as binary,
and that distinction would happen outside of xdi_merge.

The simplest fix is to just replicate the MAX_XDIFF_SIZE
check in merge-file.c.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/merge-file.c