Re: [PATCH v2] bisect--helper: plug strvec leak
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Oct 14, 2022, 20:23 UTC
- Message-ID
- <xmqqczau888n.fsf@gitster.g>
- In-Reply-To
- <Y0m8AU+Yf7PREI2E@coredump.intra.peff.net>
Jeff King <peff@peff.net> writes:
Show 18 quoted lines
> On Tue, Oct 11, 2022 at 02:43:24PM -0700, Junio C Hamano wrote:
>
>> > - if (run_command_v_opt(argv.v, RUN_GIT_CMD)) {
>> > + if (run_command_opt_l(RUN_GIT_CMD, "-C", repo, "sparse-checkout",
>> > + "set", NULL)) {
>>
>> And this does give us protection from the "Programmers can give
>> unterminated list to run_command_v_opt() by mistake", which is not
>> really solved mechanically even if the list is prepared with the
>> strvec API (because the compiler has to be smart enough to know that
>> argv.v was prepared with proper use of the API), which is nice.
>
> Yeah, I agree this addresses the point I raised (which I am somewhat
> regretting raising, as IMHO it was not worth the amount of discussion
> that has ensued).
>
> Since nobody asked, my _real_ opinion is that I prefer René's original
> that used an actual struct, and its auto-freeing strvec.Yup, it was you who worried about forgotten NULL at the end, though ;-)