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:
parent
0de085bb47
commit
910949a668
1 changed files with 2 additions and 1 deletions
|
@ -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);
|
||||||
|
|
Loading…
Reference in a new issue