diff-delta: do not allow delta offset truncation

Prevent generating delta offsets beyond 4G, as the xdelta used in
the pack format cannot represent such large offset.

Signed-off-by: Martin Koegler <martin.koegler@chello.at>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
diff --git a/diff-delta.c b/diff-delta.c
index 3797ce6..ea710c4 100644
--- a/diff-delta.c
+++ b/diff-delta.c
@@ -452,6 +452,9 @@ create_delta(const struct delta_index *index,
 			moff += msize;
 			msize = left;
 
+			if (moff > 0xffffffff)
+				msize = 0;
+
 			if (msize < 4096) {
 				int j;
 				val = 0;