diff options
author | Jayachandran C <c.jayachandran@gmail.com> | 2006-04-11 20:25:38 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2006-04-11 20:25:38 -0400 |
commit | 7ad4d2f6901437ba4717a26d395a73ea362d25c6 (patch) | |
tree | f72f0ef556e201ecb0911c5c2cad03bda2116d4f | |
parent | b8282dcf0417bbc8a0786c129fdff9cc768f8f3c (diff) |
[BRIDGE] ebtables: fix allocation in net/bridge/netfilter/ebtables.c
Allocate an array of 'struct ebt_chainstack *', the current code allocates
array of 'struct ebt_chainstack'.
akpm: converted to use the
foo = alloc(sizeof(*foo))
form. Which would have prevented this from happening in the first place.
akpm: also removed unneeded typecast.
akpm: what on earth is this code doing anyway? cpu_possible_map can be
sparse..
Signed-off-by: Jayachandran C. <c.jayachandran@gmail.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | net/bridge/netfilter/ebtables.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/net/bridge/netfilter/ebtables.c b/net/bridge/netfilter/ebtables.c index 66bd93252c4e..84b9af76f0a2 100644 --- a/net/bridge/netfilter/ebtables.c +++ b/net/bridge/netfilter/ebtables.c | |||
@@ -824,9 +824,9 @@ static int translate_table(struct ebt_replace *repl, | |||
824 | if (udc_cnt) { | 824 | if (udc_cnt) { |
825 | /* this will get free'd in do_replace()/ebt_register_table() | 825 | /* this will get free'd in do_replace()/ebt_register_table() |
826 | if an error occurs */ | 826 | if an error occurs */ |
827 | newinfo->chainstack = (struct ebt_chainstack **) | 827 | newinfo->chainstack = |
828 | vmalloc((highest_possible_processor_id()+1) | 828 | vmalloc((highest_possible_processor_id()+1) |
829 | * sizeof(struct ebt_chainstack)); | 829 | * sizeof(*(newinfo->chainstack))); |
830 | if (!newinfo->chainstack) | 830 | if (!newinfo->chainstack) |
831 | return -ENOMEM; | 831 | return -ENOMEM; |
832 | for_each_possible_cpu(i) { | 832 | for_each_possible_cpu(i) { |