diff options
author | Julia Lawall <julia@diku.dk> | 2008-08-23 18:27:38 +0200 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2008-08-26 20:06:32 -0400 |
commit | 667d8af9af775a5fea203890978037ea750816cc (patch) | |
tree | 5bdc41ed57b9a5080fd63fafe17c0d5bbd0b0508 /fs/binfmt_elf_fdpic.c | |
parent | 087d833e5a9f67ba933cb32eaf5a2279c1a5b47c (diff) | |
download | talos-obmc-linux-667d8af9af775a5fea203890978037ea750816cc.tar.gz talos-obmc-linux-667d8af9af775a5fea203890978037ea750816cc.zip |
net/mac80211/mesh.c: correct the argument to __mesh_table_free
In the function mesh_table_grow, it is the new table not the argument table
that should be freed if the function fails (cf commit
bd9b448f4c0a514559bdae4ca18ca3e8cd999c6d)
The semantic match that detects this problem is as follows:
(http://www.emn.fr/x-info/coccinelle/)
// <smpl>
@r exists@
local idexpression x;
expression E,f;
position p1,p2,p3;
identifier l;
statement S;
@@
x = mesh_table_alloc@p1(...)
...
if (x == NULL) S
... when != E = x
when != mesh_table_free(x)
goto@p2 l;
... when != E = x
when != f(...,x,...)
when any
(
return \(0\|x\);
|
return@p3 ...;
)
@script:python@
p1 << r.p1;
p2 << r.p2;
p3 << r.p3;
@@
print "%s: call on line %s not freed or saved before return on line %s via line %s" % (p1[0].file,p1[0].line,p3[0].line,p2[0].line)
// </smpl>
Signed-off-by: Julia Lawall <julia@diku.dk>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'fs/binfmt_elf_fdpic.c')
0 files changed, 0 insertions, 0 deletions