audit: Do not send uninitialized data for AUDIT_TTY_GET
authorThomas Gleixner <tglx@linutronix.de>
Wed, 9 Dec 2009 14:19:35 +0000 (14:19 +0000)
committerAl Viro <viro@zeniv.linux.org.uk>
Sat, 30 Oct 2010 12:45:42 +0000 (08:45 -0400)
audit_receive_msg() sends uninitialized data for AUDIT_TTY_GET when
the task was not found.

Send reply only when task was found.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Cc: Eric Paris <eparis@redhat.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
kernel/audit.c

index 8429afea37bf76f3ae57bf86c4ceda8cf9acbda2..57f4038694d15dc193dd78c694a5635153a65aae 100644 (file)
@@ -884,8 +884,10 @@ static int audit_receive_msg(struct sk_buff *skb, struct nlmsghdr *nlh)
                        spin_unlock_irq(&tsk->sighand->siglock);
                }
                read_unlock(&tasklist_lock);
-               audit_send_reply(NETLINK_CB(skb).pid, seq, AUDIT_TTY_GET, 0, 0,
-                                &s, sizeof(s));
+
+               if (!err)
+                       audit_send_reply(NETLINK_CB(skb).pid, seq,
+                                        AUDIT_TTY_GET, 0, 0, &s, sizeof(s));
                break;
        }
        case AUDIT_TTY_SET: {