diff options
author | Namhyung Kim <namhyung@kernel.org> | 2014-06-15 01:19:01 +0900 |
---|---|---|
committer | Paul Moore <pmoore@redhat.com> | 2014-06-19 14:53:15 -0400 |
commit | f004afe60db5b98f2b981978fde8a0d4c6298c5d (patch) | |
tree | 3ffe2e1c455bc8cf2e5f43e9601347bec9758655 /security/selinux/ss/conditional.c | |
parent | 4bb9398300a3a2c691e5c0ad6b9cfa78775e767e (diff) | |
download | op-kernel-dev-f004afe60db5b98f2b981978fde8a0d4c6298c5d.zip op-kernel-dev-f004afe60db5b98f2b981978fde8a0d4c6298c5d.tar.gz |
selinux: simple cleanup for cond_read_node()
The node->cur_state and len can be read in a single call of next_entry().
And setting len before reading is a dead write so can be eliminated.
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
(Minor tweak to the length parameter in the call to next_entry())
Signed-off-by: Paul Moore <pmoore@redhat.com>
Diffstat (limited to 'security/selinux/ss/conditional.c')
-rw-r--r-- | security/selinux/ss/conditional.c | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/security/selinux/ss/conditional.c b/security/selinux/ss/conditional.c index 377d148..f09cc72 100644 --- a/security/selinux/ss/conditional.c +++ b/security/selinux/ss/conditional.c @@ -402,19 +402,14 @@ static int cond_read_node(struct policydb *p, struct cond_node *node, void *fp) int rc; struct cond_expr *expr = NULL, *last = NULL; - rc = next_entry(buf, fp, sizeof(u32)); + rc = next_entry(buf, fp, sizeof(u32) * 2); if (rc) return rc; node->cur_state = le32_to_cpu(buf[0]); - len = 0; - rc = next_entry(buf, fp, sizeof(u32)); - if (rc) - return rc; - /* expr */ - len = le32_to_cpu(buf[0]); + len = le32_to_cpu(buf[1]); for (i = 0; i < len; i++) { rc = next_entry(buf, fp, sizeof(u32) * 2); |