Skip to content

Commit 8b85eaa

Browse files
author
Linus Torvalds
committed
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/selinux-2.6
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/selinux-2.6: selinux: fix memory leak in netlabel code
2 parents f290fc3 + 45c950e commit 8b85eaa

File tree

2 files changed

+5
-4
lines changed

2 files changed

+5
-4
lines changed

security/selinux/netlabel.c

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,17 +53,20 @@ static int selinux_netlbl_sock_setsid(struct sock *sk, u32 sid)
5353
struct sk_security_struct *sksec = sk->sk_security;
5454
struct netlbl_lsm_secattr secattr;
5555

56+
netlbl_secattr_init(&secattr);
57+
5658
rc = security_netlbl_sid_to_secattr(sid, &secattr);
5759
if (rc != 0)
58-
return rc;
59-
60+
goto sock_setsid_return;
6061
rc = netlbl_sock_setattr(sk, &secattr);
6162
if (rc == 0) {
6263
spin_lock_bh(&sksec->nlbl_lock);
6364
sksec->nlbl_state = NLBL_LABELED;
6465
spin_unlock_bh(&sksec->nlbl_lock);
6566
}
6667

68+
sock_setsid_return:
69+
netlbl_secattr_destroy(&secattr);
6770
return rc;
6871
}
6972

security/selinux/ss/services.c

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2606,8 +2606,6 @@ int security_netlbl_sid_to_secattr(u32 sid, struct netlbl_lsm_secattr *secattr)
26062606
int rc = -ENOENT;
26072607
struct context *ctx;
26082608

2609-
netlbl_secattr_init(secattr);
2610-
26112609
if (!ss_initialized)
26122610
return 0;
26132611

0 commit comments

Comments
 (0)