Subject: [PATCH 0/2] coccinelle: detect and fix strbuf-by-value parameters

From: Deveshi Dwivedi <[email-masked]>
Date: Sun, 15 Mar 2026 09:44:42 +0000

While reviewing the write_worktree_linking_files() fix [1], Jeff King
suggested adding a coccinelle rule to detect functions that take
struct strbuf by value.  I previously posted an RFC discussing such a rule
and its implementation [2].

Patch 1/2 adds a coccinelle rule to detect functions that take
struct strbuf by value and rewrites the parameter to a pointer
to highlight the issue.

Patch 2/2 fixes the one remaining instance found by the rule in
stash.c by changing the parameter to struct strbuf * and
updating the caller accordingly.

The worktree.c instance that motivated the rule is already fixed
by [1], so only the stash.c case remains.

[1] https://lore.kernel.org/git/[email-masked]/
[2] https://lore.kernel.org/git/[email-masked]/

Deveshi Dwivedi (2):
  coccinelle: detect struct strbuf passed by value
  stash: do not pass strbuf by value

 builtin/stash.c                 |  6 +++---
 contrib/coccinelle/strbuf.cocci | 11 +++++++++++
 2 files changed, 14 insertions(+), 3 deletions(-)

-- 
2.52.0.230.gd8af7cadaa