HomeFreeBSD

diff: Fix integer overflow.

Description

diff: Fix integer overflow.

The legacy Stone algorithm uses int to represent line numbers, array
indices, and array lengths. If given inputs approaching INT_MAX lines,
it would overflow and attempt to allocate ridiculously large amounts of
memory. To avoid this without penalizing non-pathological inputs,
switch a few variables to size_t and add checks while and immediately
after reading both inputs.

MFC after: 3 days
PR: 280371
Sponsored by: Klara, Inc.
Reviewed by: allanjude
Differential Revision: https://reviews.freebsd.org/D46169

(cherry picked from commit 9317242469f1ca682626d9806f8caf65d143c09a)

Details

Provenance
desAuthored on Jul 29 2024, 2:02 PM
Reviewer
allanjude
Differential Revision
D46169: diff: Fix integer overflow.
Parents
rG094f58809682: sdiff: Fix usage message.
Branches
Unknown
Tags
Unknown