On Wed, Aug 12, 2026 at 8:42 AM Elijah Newren via GitGitGadget
[off-list ref] wrote:
From: Elijah Newren <redacted>
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.