Re: [PATCH] serve: reject valueless promisor-remote capability
Christian Couder <[email protected]>
| Newsgroups | org.kernel.vger.git |
|---|---|
| Message-ID | <CAP8UFD0+iXC3VxWmuuuB7La-pP6hdz58tr6vaEJSKpXJ_4ZH2w@mail.gmail.com> |
On Wed, Aug 12, 2026 at 8:42 AM Elijah Newren via GitGitGadget <[email protected]> wrote: > > From: Elijah Newren <[email protected]> > > d460267613da (Add 'promisor-remote' capability to protocol v2, > 2025-02-18) added a receive callback which passes the capability value > directly to mark_promisor_remotes_as_accepted(). However, a client can > send the capability name without an '=' or value, in which case > get_capability() supplies NULL and strbuf_split_str() dereferences it. Yeah, the original code you mention used strbuf_split_str(), but since 68a746e9a8 (promisor-remote: use string_list_split() in mark_remotes_as_accepted(), 2025-09-08), string_list_split() is used instead. Anyway string_list_split() also crashes when a NULL is passed as its `const char *string` argument. > Reject the missing argument before parsing it, and add a test covering > this case. Yeah, the fix and its test look right to me. Thanks.