]>
Commit | Line | Data |
---|---|---|
00e5a55c BS |
1 | From: Jaroslav Kysela <perex@suse.cz> |
2 | Subject: LTC23987-iptables LOG output shows too long MAC info | |
3 | References: 176921 | |
4 | ||
5 | LTC23987-iptables LOG output shows too long MAC info for qeth VLAN interface | |
6 | ||
7 | Signed-off-by: Jaroslav Kysela <perex@suse.cz> | |
8 | ||
9 | --- | |
10 | net/ipv4/netfilter/ipt_LOG.c | 10 +++++----- | |
11 | 1 file changed, 5 insertions(+), 5 deletions(-) | |
12 | ||
13 | --- a/net/ipv4/netfilter/ipt_LOG.c | |
14 | +++ b/net/ipv4/netfilter/ipt_LOG.c | |
15 | @@ -410,12 +410,12 @@ ipt_log_packet(unsigned int pf, | |
16 | printk("MAC="); | |
17 | if (skb->dev && skb->dev->hard_header_len | |
18 | && skb->mac_header != skb->network_header) { | |
19 | - int i; | |
20 | + int i, len; | |
21 | const unsigned char *p = skb_mac_header(skb); | |
22 | - for (i = 0; i < skb->dev->hard_header_len; i++,p++) | |
23 | - printk("%02x%c", *p, | |
24 | - i==skb->dev->hard_header_len - 1 | |
25 | - ? ' ':':'); | |
26 | + len = (int)(skb_network_header(skb) - p); | |
27 | + len = min((int)skb->dev->hard_header_len, len); | |
28 | + for (i = 0; i < len; i++,p++) | |
29 | + printk("%02x%c", *p, i==len - 1 ? ' ':':'); | |
30 | } else | |
31 | printk(" "); | |
32 | } |