Эх сурвалжийг харах

selinux: use kmemdup in security_sid_to_context_core()

Signed-off-by: Rasmus Villemoes <linux@rasmusvillemoes.dk>
Acked-by: Stephen Smalley <sds@tycho.nsa.gov>
Signed-off-by: Paul Moore <pmoore@redhat.com>
Rasmus Villemoes 9 жил өмнө
parent
commit
aa736c36db

+ 2 - 2
security/selinux/ss/services.c

@@ -1259,12 +1259,12 @@ static int security_sid_to_context_core(u32 sid, char **scontext,
 			*scontext_len = strlen(initial_sid_to_string[sid]) + 1;
 			*scontext_len = strlen(initial_sid_to_string[sid]) + 1;
 			if (!scontext)
 			if (!scontext)
 				goto out;
 				goto out;
-			scontextp = kmalloc(*scontext_len, GFP_ATOMIC);
+			scontextp = kmemdup(initial_sid_to_string[sid],
+					    *scontext_len, GFP_ATOMIC);
 			if (!scontextp) {
 			if (!scontextp) {
 				rc = -ENOMEM;
 				rc = -ENOMEM;
 				goto out;
 				goto out;
 			}
 			}
-			strcpy(scontextp, initial_sid_to_string[sid]);
 			*scontext = scontextp;
 			*scontext = scontextp;
 			goto out;
 			goto out;
 		}
 		}