diff options
author | Dan Carpenter <dan.carpenter@oracle.com> | 2013-08-01 12:36:57 +0300 |
---|---|---|
committer | Pablo Neira Ayuso <pablo@netfilter.org> | 2013-08-05 17:36:04 +0200 |
commit | e4d091d7bf787cd303383725b8071d0bae76f981 (patch) | |
tree | 6c9f1bf8e0c0893ebe1ab4eac1151ba6df635142 /net/netfilter/nfnetlink_queue_core.c | |
parent | a206bcb3b02025b23137f3228109d72e0f835c05 (diff) | |
download | op-kernel-dev-e4d091d7bf787cd303383725b8071d0bae76f981.zip op-kernel-dev-e4d091d7bf787cd303383725b8071d0bae76f981.tar.gz |
netfilter: nfnetlink_{log,queue}: fix information leaks in netlink message
These structs have a "_pad" member. Also the "phw" structs have an 8
byte "hw_addr[]" array but sometimes only the first 6 bytes are
initialized.
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'net/netfilter/nfnetlink_queue_core.c')
-rw-r--r-- | net/netfilter/nfnetlink_queue_core.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/net/netfilter/nfnetlink_queue_core.c b/net/netfilter/nfnetlink_queue_core.c index 971ea14..8a703c3 100644 --- a/net/netfilter/nfnetlink_queue_core.c +++ b/net/netfilter/nfnetlink_queue_core.c @@ -463,7 +463,10 @@ nfqnl_build_packet_message(struct nfqnl_instance *queue, if (indev && entskb->dev && entskb->mac_header != entskb->network_header) { struct nfqnl_msg_packet_hw phw; - int len = dev_parse_header(entskb, phw.hw_addr); + int len; + + memset(&phw, 0, sizeof(phw)); + len = dev_parse_header(entskb, phw.hw_addr); if (len) { phw.hw_addrlen = htons(len); if (nla_put(skb, NFQA_HWADDR, sizeof(phw), &phw)) |