SELinux: null-terminate context string in selinux_xfrm_sec_ctx_alloc
xfrm_audit_log() expects the context string to be null-terminated which currently doesn't happen with user-supplied contexts. Signed-off-by: Venkat Yekkirala <vyekkirala@TrustedCS.com> Acked-by: Stephen Smalley <sds@tycho.nsa.gov> Signed-off-by: James Morris <jmorris@namei.org>
This commit is contained in:
committed by
James Morris
parent
0de085bb47
commit
910949a668
@@ -216,7 +216,7 @@ static int selinux_xfrm_sec_ctx_alloc(struct xfrm_sec_ctx **ctxp,
|
|||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
|
|
||||||
*ctxp = ctx = kmalloc(sizeof(*ctx) +
|
*ctxp = ctx = kmalloc(sizeof(*ctx) +
|
||||||
uctx->ctx_len,
|
uctx->ctx_len + 1,
|
||||||
GFP_KERNEL);
|
GFP_KERNEL);
|
||||||
|
|
||||||
if (!ctx)
|
if (!ctx)
|
||||||
@@ -229,6 +229,7 @@ static int selinux_xfrm_sec_ctx_alloc(struct xfrm_sec_ctx **ctxp,
|
|||||||
memcpy(ctx->ctx_str,
|
memcpy(ctx->ctx_str,
|
||||||
uctx+1,
|
uctx+1,
|
||||||
ctx->ctx_len);
|
ctx->ctx_len);
|
||||||
|
ctx->ctx_str[ctx->ctx_len] = 0;
|
||||||
rc = security_context_to_sid(ctx->ctx_str,
|
rc = security_context_to_sid(ctx->ctx_str,
|
||||||
ctx->ctx_len,
|
ctx->ctx_len,
|
||||||
&ctx->ctx_sid);
|
&ctx->ctx_sid);
|
||||||
|
Reference in New Issue
Block a user