diff -u -r1.1.1.1 ip_queue.c --- a/net/ipv4/netfilter/ip_queue.c 11 May 2004 13:07:08 -0000 1.1.1.1 +++ b/net/ipv4/netfilter/ip_queue.c 4 Aug 2004 14:37:25 -0000 @@ -255,9 +255,10 @@ entry->skb->dev->hard_header_parse(entry->skb, pmsg->hw_addr); } - - if (data_len) - memcpy(pmsg->payload, entry->skb->data, data_len); + + if (data_len) + if (skb_copy_bits(entry->skb, 0, pmsg->payload, data_len) != 0) + goto nlmsg_failure; nlh->nlmsg_len = skb->tail - old_tail; return skb;