summaryrefslogtreecommitdiffstats
path: root/security/selinux
diff options
context:
space:
mode:
authorSerge E. Hallyn <serue@us.ibm.com>2006-05-15 09:43:48 -0700
committerLinus Torvalds <torvalds@g5.osdl.org>2006-05-15 11:20:54 -0700
commit0cccca06f9870eb6daa89357b8a99ad041865553 (patch)
tree216251e4cbbdbb9509ed0b6fc769050ece2fb93e /security/selinux
parent9be2f7c38e0bd64e8a0f74ea68df1e73e2ddfcc3 (diff)
downloadlinux-0cccca06f9870eb6daa89357b8a99ad041865553.tar.gz
linux-0cccca06f9870eb6daa89357b8a99ad041865553.tar.bz2
linux-0cccca06f9870eb6daa89357b8a99ad041865553.zip
[PATCH] selinux: check for failed kmalloc in security_sid_to_context()
Check for NULL kmalloc return value before writing to it. Signed-off-by: Serge E. Hallyn <serue@us.ibm.com> Acked-by: James Morris <jmorris@namei.org> Cc: Stephen Smalley <sds@tycho.nsa.gov> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'security/selinux')
-rw-r--r--security/selinux/ss/services.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/security/selinux/ss/services.c b/security/selinux/ss/services.c
index 7177e98df7f3..c284dbb8b8c0 100644
--- a/security/selinux/ss/services.c
+++ b/security/selinux/ss/services.c
@@ -594,6 +594,10 @@ int security_sid_to_context(u32 sid, char **scontext, u32 *scontext_len)
*scontext_len = strlen(initial_sid_to_string[sid]) + 1;
scontextp = kmalloc(*scontext_len,GFP_ATOMIC);
+ if (!scontextp) {
+ rc = -ENOMEM;
+ goto out;
+ }
strcpy(scontextp, initial_sid_to_string[sid]);
*scontext = scontextp;
goto out;