Re: [PATCH v3 4/6] xdiff/xdl_cleanup_records: make limits more clear
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Mar 30, 2026, 19:59 UTC
- Message-ID
- <xmqqtstxdr6v.fsf@gitster.g>
- In-Reply-To
- <CAH=ZcbAKwtq9jiv=XWi_P0ZD1hz7XEpEtMPONB9n=_EcOPPSRg@mail.gmail.com>
Ezekiel Newren <ezekielnewren@gmail.com> writes:
Show 14 quoted lines
> On Fri, Mar 27, 2026 at 5:01 PM Junio C Hamano <gitster@pobox.com> wrote: >> Updated code, when nm is not zero, does something different. if >> need_min is true, mlim1 is set to -1 and presumably nm is a count or >> length that is bounded on its lower end with 0, so it is larger than >> mlim1 (== -1), and we always take INVESTIGATE and never KEEP. >> >> So the rewritten code is broken when need_min is true? >> >> I suspect the remainder of the patch is broken exactly the same way, >> so the remedy would be similar? > > Your assessment is correct, PTRDIFF_MAX should be used instead of > SIZE_MAX. I realized my mistake a few hours after I pushed. This will > be fixed in the next version.
Yeah, using PTRDIFF_MAX is fine. When I reported the breakage I was hinting that everything may want to become unsigned, but since the original does use signed quantities and variables, it is far safer to stick to signed arithmetic---until a full audit says it is safe to switch to size_t of course.
Thanks.