Re: [PATCH] apply.c: fix -p argument parsing
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Mar 16, 2026, 19:56 UTC
- Message-ID
- <xmqqikavo8e7.fsf@gitster.g>
- In-Reply-To
- <20260316005120.7079-1-mroik@delayed.space>
Mirko Faina <mroik@delayed.space> writes:
Show 16 quoted lines
> "git apply" has an option -p that takes an integer as its argument. > Unfortunately the function apply_option_parse_p() in charge of parsing > this argument uses atoi() to convert from string to integer, which > allows a non-digit after the number (e.g. "1q") to be silently ignored. > As a consequence, an argument that does not begin with a digit silently > becomes a zero. Despite this command working fine when a non-positive > argument is passed, it might be useful for the end user to know that > their input contains non-digits that might've been unintended. > > Replace atoi() with strtol_i() to catch malformed inputs. > > Signed-off-by: Mirko Faina <mroik@delayed.space> > --- > Sending a new version 'cause Tian pointed out that the die message is > not explicit enough, and a user might not understand which option we're > referring to if there are multiple.
The updated error message does look more helpful. Will replace.
Also the post-test clean-up in each test is more thorough, which is a very good thing to see.
Thanks.