Add rules for finding places where str_alloc_free()/str_free_alloc can be used.
Signed-off-by: Jiazi Li <[email protected]> Tested-by: mingzhu.wang <[email protected]> --- scripts/coccinelle/api/string_choices.cocci | 38 +++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/scripts/coccinelle/api/string_choices.cocci b/scripts/coccinelle/api/string_choices.cocci index 375045086912..5e5f0518b90e 100644 --- a/scripts/coccinelle/api/string_choices.cocci +++ b/scripts/coccinelle/api/string_choices.cocci @@ -300,3 +300,41 @@ e << str_yes_no_r.E; @@ coccilib.report.print_report(p[0], "opportunity for str_yes_no(%s)" % e) + +@str_alloc_free depends on patch disable neg_if_exp@ +expression E; +@@ +- ((E) ? "alloc" : "free") ++ str_alloc_free(E) + +@str_alloc_free_r depends on !patch disable neg_if_exp@ +expression E; +position P; +@@ +* E@P ? "alloc" : "free" + +@script:python depends on report@ +p << str_alloc_free_r.P; +e << str_alloc_free_r.E; +@@ + +coccilib.report.print_report(p[0], "opportunity for str_alloc_free(%s)" % e) + +@str_free_alloc depends on patch disable neg_if_exp@ +expression E; +@@ +- ((E) ? "free" : "alloc") ++ str_free_alloc(E) + +@str_free_alloc_r depends on !patch disable neg_if_exp@ +expression E; +position P; +@@ +* E@P ? "free" : "alloc" + +@script:python depends on report@ +p << str_free_alloc_r.P; +e << str_free_alloc_r.E; +@@ + +coccilib.report.print_report(p[0], "opportunity for str_free_alloc(%s)" % e) -- 2.49.0
