summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSerge E. Hallyn <serue@us.ibm.com>2006-05-15 09:43:48 -0700
committerChris Wright <chrisw@sous-sol.org>2006-05-20 15:00:31 -0700
commit3220ee4a7afa92cc7315f9f74b64bb8a7f9b1320 (patch)
tree8b7929c1bdb5e73e94782306fc457ae3312cdfb2
parent39970bdd43f953f204f1bcbdf1d97dc2d78df17f (diff)
downloadlwn-3220ee4a7afa92cc7315f9f74b64bb8a7f9b1320.tar.gz
lwn-3220ee4a7afa92cc7315f9f74b64bb8a7f9b1320.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> Signed-off-by: Chris Wright <chrisw@sous-sol.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-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 8a764928ff4b..6375dd578b39 100644
--- a/security/selinux/ss/services.c
+++ b/security/selinux/ss/services.c
@@ -592,6 +592,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;