[PATCH] selinux: keep context struct members in sync

From: Christian Göttsche
Date: Thu May 11 2023 - 08:32:09 EST


Commit 53f3517ae087 ("selinux: do not leave dangling pointer behind")
reset the `str` field of the `context` struct in an OOM error branch.
In this struct the fields `str` and `len` are coupled and should be kept
in sync. Set the length to zero according to the string be set to NULL.

Fixes: 53f3517ae087 ("selinux: do not leave dangling pointer behind")
Signed-off-by: Christian Göttsche <cgzones@xxxxxxxxxxxxxx>
---
security/selinux/ss/context.h | 1 +
1 file changed, 1 insertion(+)

diff --git a/security/selinux/ss/context.h b/security/selinux/ss/context.h
index 44179977f434..aed704b8c642 100644
--- a/security/selinux/ss/context.h
+++ b/security/selinux/ss/context.h
@@ -168,6 +168,7 @@ static inline int context_cpy(struct context *dst, const struct context *src)
if (rc) {
kfree(dst->str);
dst->str = NULL;
+ dst->len = 0;
return rc;
}
return 0;
--
2.40.1