diff options
author | 2025-03-08 22:04:20 +0800 | |
---|---|---|
committer | 2025-03-08 22:04:20 +0800 | |
commit | a07bb8fd1299070229f0e8f3dcb57ffd5ef9870a (patch) | |
tree | 84f21bd0bf7071bc5fc7dd989e77d7ceb5476682 /scripts/coccinelle/free/kfreeaddr.cocci | |
download | ohosKernel-a07bb8fd1299070229f0e8f3dcb57ffd5ef9870a.tar.gz ohosKernel-a07bb8fd1299070229f0e8f3dcb57ffd5ef9870a.zip |
Initial commit: OpenHarmony-v4.0-ReleaseOpenHarmony-v4.0-Release
Diffstat (limited to 'scripts/coccinelle/free/kfreeaddr.cocci')
-rw-r--r-- | scripts/coccinelle/free/kfreeaddr.cocci | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/scripts/coccinelle/free/kfreeaddr.cocci b/scripts/coccinelle/free/kfreeaddr.cocci new file mode 100644 index 000000000..142af6337 --- /dev/null +++ b/scripts/coccinelle/free/kfreeaddr.cocci | |||
@@ -0,0 +1,37 @@ | |||
1 | // SPDX-License-Identifier: GPL-2.0-only | ||
2 | /// Free of a structure field | ||
3 | /// | ||
4 | // Confidence: High | ||
5 | // Copyright: (C) 2013 Julia Lawall, INRIA/LIP6. | ||
6 | // URL: http://coccinelle.lip6.fr/ | ||
7 | // Comments: | ||
8 | // Options: --no-includes --include-headers | ||
9 | |||
10 | virtual org | ||
11 | virtual report | ||
12 | virtual context | ||
13 | |||
14 | @r depends on context || report || org @ | ||
15 | expression e; | ||
16 | identifier f; | ||
17 | position p; | ||
18 | @@ | ||
19 | |||
20 | ( | ||
21 | * kfree@p(&e->f) | ||
22 | | | ||
23 | * kfree_sensitive@p(&e->f) | ||
24 | ) | ||
25 | |||
26 | @script:python depends on org@ | ||
27 | p << r.p; | ||
28 | @@ | ||
29 | |||
30 | cocci.print_main("kfree",p) | ||
31 | |||
32 | @script:python depends on report@ | ||
33 | p << r.p; | ||
34 | @@ | ||
35 | |||
36 | msg = "ERROR: invalid free of structure field" | ||
37 | coccilib.report.print_report(p[0],msg) | ||