Commit 67afc211 authored by Daniel Granat's avatar Daniel Granat Committed by Michal Marek

coccinelle: Improve checking for missing NULL terminators

Extend checking on tables containing structures which are initialized
without specifying member name. Added new tables for checking:
i2c_device_id and platform_device_id.
Signed-off-by: default avatarDaniel Granat <d.granat@samsung.com>
Acked-by: default avatarJulia Lawall <julia.lawall@lip6.fr>
Signed-off-by: default avatarMichal Marek <mmarek@suse.cz>
parent 4743775c
/// Make sure of_device_id tables are NULL terminated
/// Make sure (of/i2c/platform)_device_id tables are NULL terminated
//
// Keywords: of_table
// Keywords: of_table i2c_table platform_table
// Confidence: Medium
// Options: --include-headers
......@@ -13,18 +13,26 @@ virtual report
identifier var, arr;
expression E;
@@
struct of_device_id arr[] = {
(
struct \(of_device_id \| i2c_device_id \| platform_device_id\) arr[] = {
...,
{
.var = E,
* }
};
|
struct \(of_device_id \| i2c_device_id \| platform_device_id\) arr[] = {
...,
* { ..., E, ... },
};
)
@depends on patch@
identifier var, arr;
expression E;
@@
struct of_device_id arr[] = {
(
struct \(of_device_id \| i2c_device_id \| platform_device_id\) arr[] = {
...,
{
.var = E,
......@@ -32,19 +40,34 @@ struct of_device_id arr[] = {
+ },
+ { }
};
|
struct \(of_device_id \| i2c_device_id \| platform_device_id\) arr[] = {
...,
{ ..., E, ... },
+ { },
};
)
@r depends on org || report@
position p1;
identifier var, arr;
expression E;
@@
struct of_device_id arr[] = {
(
struct \(of_device_id \| i2c_device_id \| platform_device_id\) arr[] = {
...,
{
.var = E,
}
@p1
};
|
struct \(of_device_id \| i2c_device_id \| platform_device_id\) arr[] = {
...,
{ ..., E, ... }
@p1
};
)
@script:python depends on org@
p1 << r.p1;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment