aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric Dumazet <eric.dumazet@gmail.com>2009-08-06 03:31:07 +0000
committerWilly Tarreau <w@1wt.eu>2009-09-13 08:58:01 +0200
commit35054cc71876c2edb04c30a8df8034b887624252 (patch)
tree86c5abc7ac7ef35d1ef1868540f7eaff2d09af90
parent1a226b74c0863349a284cffe9179f0c300170247 (diff)
downloadlinux-2.4-35054cc71876c2edb04c30a8df8034b887624252.tar.gz
netrom: Fix nr_getname() leak
(backported from 2.6 commit f6b97b29513950bfbf621a83d85b6f86b39ec8db) nr_getname() can leak kernel memory to user. Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Willy Tarreau <w@1wt.eu>
-rw-r--r--net/netrom/af_netrom.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/net/netrom/af_netrom.c b/net/netrom/af_netrom.c
index fbc217b794d841..bf1c92738f9d93 100644
--- a/net/netrom/af_netrom.c
+++ b/net/netrom/af_netrom.c
@@ -811,6 +811,7 @@ static int nr_getname(struct socket *sock, struct sockaddr *uaddr,
sax->fsa_ax25.sax25_family = AF_NETROM;
sax->fsa_ax25.sax25_ndigis = 1;
sax->fsa_ax25.sax25_call = sk->protinfo.nr->user_addr;
+ memset(sax->fsa_digipeater, 0, sizeof(sax->fsa_digipeater));
sax->fsa_digipeater[0] = sk->protinfo.nr->dest_addr;
*uaddr_len = sizeof(struct full_sockaddr_ax25);
} else {