diff options
author | Julia Lawall <julia@diku.dk> | 2010-08-24 04:39:49 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-08-25 16:36:50 -0700 |
commit | b2aff96327545aa5ceb25e3116be69c8b06de703 (patch) | |
tree | 144aa0ed207b68e163d1d8f4f13971d1fb01edcd /net/bridge | |
parent | 8d34e7d6f38fce1c7e595404295494cd1eaba3eb (diff) | |
download | linux-b2aff96327545aa5ceb25e3116be69c8b06de703.tar.gz linux-b2aff96327545aa5ceb25e3116be69c8b06de703.tar.bz2 linux-b2aff96327545aa5ceb25e3116be69c8b06de703.zip |
net/netfilter/ipvs: Eliminate memory leak
__ip_vs_service_get and __ip_vs_svc_fwm_get increment a reference count, so
that reference count should be decremented before leaving the function in an
error case.
A simplified version of the semantic match that finds this problem is:
(http://coccinelle.lip6.fr/)
// <smpl>
@r exists@
local idexpression x;
expression E;
identifier f1;
iterator I;
@@
x = __ip_vs_service_get(...);
<... when != x
when != true (x == NULL || ...)
when != if (...) { <+...x...+> }
when != I (...) { <+...x...+> }
(
x == NULL
|
x == E
|
x->f1
)
...>
* return ...;
// </smpl>
Signed-off-by: Julia Lawall <julia@diku.dk>
Signed-off-by: Simon Horman <horms@verge.net.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/bridge')
0 files changed, 0 insertions, 0 deletions