aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric Dumazet <eric.dumazet@gmail.com>2009-08-06 02:27:43 +0000
committerWilly Tarreau <w@1wt.eu>2009-09-13 08:49:42 +0200
commitae73c31d4717dc46fd32f05d2f769e5c2175ab7a (patch)
tree945de3f395b0622d971daa92075be57794d83b5a
parent1efc949ac0e96be60adbc137695f59ec0bc70ce6 (diff)
downloadlinux-2.4-ae73c31d4717dc46fd32f05d2f769e5c2175ab7a.tar.gz
appletalk: fix atalk_getname() leak
(backported from 2.6 commit 3d392475c873c10c10d6d96b94d092a34ebd4791) atalk_getname() can leak 8 bytes of 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/appletalk/ddp.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/net/appletalk/ddp.c b/net/appletalk/ddp.c
index 417d7c3b32dc91..c2829dde51d1e6 100644
--- a/net/appletalk/ddp.c
+++ b/net/appletalk/ddp.c
@@ -1337,6 +1337,7 @@ static int atalk_getname(struct socket *sock, struct sockaddr *uaddr,
return -ENOBUFS;
*uaddr_len = sizeof(struct sockaddr_at);
+ memset(&sat.sat_zero, 0, sizeof(sat.sat_zero));
if (peer) {
if (sk->state != TCP_ESTABLISHED)