Subject: Re: [PATCH] apply.c: fix -p argument parsing

From: Junio C Hamano <[email-masked]>
Date: Mon, 16 Mar 2026 12:56:48 -0700

Mirko Faina <[email-masked]> writes:

> "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 <[email-masked]>
> ---
> 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.