From: Junio C Hamano Date: Fri, 11 Sep 2026 22:09:47 GMT Subject: [PATCH] cocci: remove risky "if (!E) free(E)" conversion Message-ID: The current cocci patches try to convert if (!E) free(E); into an unconditional call to free(E), with the rationale cocci: detect useless free(3) calls Add a semantic patch for removing checks that cause free(3) to only be called with a NULL pointer, as that must be a programming mistake. which came from ec6cd14c7a (cocci: detect useless free(3) calls, 2017-02-11). Leaving _something_ in ALL.patch output to draw programmers' attention is a good thing, but this changes a piece of code that is originally a no-op to do something else, which may be even worse. We could change it to if (!E) BUG("free(E) is certainly not what we meant to write"); to force programmers to think. But it probably is safer to just rewrite one form of no-op into a simpler form of no-op. Signed-off-by: Junio C Hamano --- tools/coccinelle/free.cocci | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/tools/coccinelle/free.cocci b/tools/coccinelle/free.cocci index 03799e1908..3dfaae9dd8 100644 --- a/tools/coccinelle/free.cocci +++ b/tools/coccinelle/free.cocci @@ -8,16 +8,6 @@ expression E; commit_list_free(E); ) -@@ -expression E; -@@ -- if (!E) -( - free(E); -| - commit_list_free(E); -) - @@ expression E; @@ -- 2.56.0-rc0-143-g1fea62d0ca