Commit b4e94293 authored by Patrick McHardy's avatar Patrick McHardy Committed by David S. Miller

[NETFILTER]: Don't use skb_header_pointer in amanda conntrack helper

Fixes broken packets, noticed by Matthias Andree <matthias.andree@gmx.de>
Signed-off-by: default avatarPatrick McHardy <kaber@trash.net>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 914c70a8
...@@ -49,7 +49,7 @@ static int help(struct sk_buff *skb, ...@@ -49,7 +49,7 @@ static int help(struct sk_buff *skb,
{ {
struct ip_conntrack_expect *exp; struct ip_conntrack_expect *exp;
struct ip_ct_amanda_expect *exp_amanda_info; struct ip_ct_amanda_expect *exp_amanda_info;
char *amp, *data, *data_limit, *tmp; char *data, *data_limit, *tmp;
unsigned int dataoff, i; unsigned int dataoff, i;
u_int16_t port, len; u_int16_t port, len;
...@@ -70,11 +70,9 @@ static int help(struct sk_buff *skb, ...@@ -70,11 +70,9 @@ static int help(struct sk_buff *skb,
} }
LOCK_BH(&amanda_buffer_lock); LOCK_BH(&amanda_buffer_lock);
amp = skb_header_pointer(skb, dataoff, skb_copy_bits(skb, dataoff, amanda_buffer, skb->len - dataoff);
skb->len - dataoff, amanda_buffer); data = amanda_buffer;
BUG_ON(amp == NULL); data_limit = amanda_buffer + skb->len - dataoff;
data = amp;
data_limit = amp + skb->len - dataoff;
*data_limit = '\0'; *data_limit = '\0';
/* Search for the CONNECT string */ /* Search for the CONNECT string */
...@@ -110,7 +108,7 @@ static int help(struct sk_buff *skb, ...@@ -110,7 +108,7 @@ static int help(struct sk_buff *skb,
exp->mask.dst.u.tcp.port = 0xFFFF; exp->mask.dst.u.tcp.port = 0xFFFF;
exp_amanda_info = &exp->help.exp_amanda_info; exp_amanda_info = &exp->help.exp_amanda_info;
exp_amanda_info->offset = tmp - amp; exp_amanda_info->offset = tmp - amanda_buffer;
exp_amanda_info->port = port; exp_amanda_info->port = port;
exp_amanda_info->len = len; exp_amanda_info->len = len;
......
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