[PATCH 16/46] selinux: Move two assignments for the variable "rc" in filename_trans_read()

From: SF Markus Elfring
Date: Sun Jan 15 2017 - 10:16:28 EST


From: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx>
Date: Sat, 14 Jan 2017 18:50:52 +0100

One local variable was set to an error code in two cases before
a concrete error situation was detected. Thus move the corresponding
assignments into if branches to indicate a software failure there.

Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx>
---
security/selinux/ss/policydb.c | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/security/selinux/ss/policydb.c b/security/selinux/ss/policydb.c
index e7b882251da8..106a1da1d68a 100644
--- a/security/selinux/ss/policydb.c
+++ b/security/selinux/ss/policydb.c
@@ -1930,16 +1930,17 @@ static int filename_trans_read(struct policydb *p, void *fp)
ft = NULL;
otype = NULL;
name = NULL;
-
- rc = -ENOMEM;
ft = kzalloc(sizeof(*ft), GFP_KERNEL);
- if (!ft)
+ if (!ft) {
+ rc = -ENOMEM;
goto out;
+ }

- rc = -ENOMEM;
otype = kmalloc(sizeof(*otype), GFP_KERNEL);
- if (!otype)
+ if (!otype) {
+ rc = -ENOMEM;
goto out;
+ }

/* length of the path component string */
rc = next_entry(buf, fp, sizeof(u32));
--
2.11.0