git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fedora core 6 1.2949 + vserver 2.2.0
[linux-2.6.git]
/
net
/
ipv6
/
netfilter
/
ip6t_frag.c
diff --git
a/net/ipv6/netfilter/ip6t_frag.c
b/net/ipv6/netfilter/ip6t_frag.c
index
06768c8
..
cd22eaa
100644
(file)
--- a/
net/ipv6/netfilter/ip6t_frag.c
+++ b/
net/ipv6/netfilter/ip6t_frag.c
@@
-52,9
+52,14
@@
match(const struct sk_buff *skb,
struct frag_hdr _frag, *fh;
const struct ip6t_frag *fraginfo = matchinfo;
unsigned int ptr;
struct frag_hdr _frag, *fh;
const struct ip6t_frag *fraginfo = matchinfo;
unsigned int ptr;
+ int err;
- if (ipv6_find_hdr(skb, &ptr, NEXTHDR_FRAGMENT, NULL) < 0)
+ err = ipv6_find_hdr(skb, &ptr, NEXTHDR_FRAGMENT, NULL);
+ if (err < 0) {
+ if (err != -ENOENT)
+ *hotdrop = 1;
return 0;
return 0;
+ }
fh = skb_header_pointer(skb, ptr, sizeof(_frag), &_frag);
if (fh == NULL) {
fh = skb_header_pointer(skb, ptr, sizeof(_frag), &_frag);
if (fh == NULL) {
@@
-119,7
+124,6
@@
checkentry(const char *tablename,
const void *ip,
const struct xt_match *match,
void *matchinfo,
const void *ip,
const struct xt_match *match,
void *matchinfo,
- unsigned int matchinfosize,
unsigned int hook_mask)
{
const struct ip6t_frag *fraginfo = matchinfo;
unsigned int hook_mask)
{
const struct ip6t_frag *fraginfo = matchinfo;