diff options
author | Eric Dumazet <eric.dumazet@gmail.com> | 2009-08-05 23:55:04 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-08-06 16:08:46 -0400 |
commit | 09384dfc76e526c3993c09c42e016372dc9dd22c (patch) | |
tree | b93d8030e280c357e71c3efe6e5e39e454e3fdcd /net/irda/af_irda.c | |
parent | 3d392475c873c10c10d6d96b94d092a34ebd4791 (diff) |
irda: Fix irda_getname() leak
irda_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>
Diffstat (limited to 'net/irda/af_irda.c')
-rw-r--r-- | net/irda/af_irda.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/net/irda/af_irda.c b/net/irda/af_irda.c index cb762c8723ea..3ec2b434ea75 100644 --- a/net/irda/af_irda.c +++ b/net/irda/af_irda.c | |||
@@ -714,6 +714,7 @@ static int irda_getname(struct socket *sock, struct sockaddr *uaddr, | |||
714 | struct sock *sk = sock->sk; | 714 | struct sock *sk = sock->sk; |
715 | struct irda_sock *self = irda_sk(sk); | 715 | struct irda_sock *self = irda_sk(sk); |
716 | 716 | ||
717 | memset(&saddr, 0, sizeof(saddr)); | ||
717 | if (peer) { | 718 | if (peer) { |
718 | if (sk->sk_state != TCP_ESTABLISHED) | 719 | if (sk->sk_state != TCP_ESTABLISHED) |
719 | return -ENOTCONN; | 720 | return -ENOTCONN; |