selinux: fix error return code in policydb_read()
authorWei Yongjun <weiyongjun1@huawei.com>
Sat, 10 Sep 2016 07:43:48 +0000 (07:43 +0000)
committerPaul Moore <paul@paul-moore.com>
Tue, 13 Sep 2016 21:14:43 +0000 (17:14 -0400)
Fix to return error code -EINVAL from the error handling case instead
of 0 (rc is overwrite to 0 when policyvers >=
POLICYDB_VERSION_ROLETRANS), as done elsewhere in this function.

Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com>
[PM: normalize "selinux" in patch subject, description line wrap]
Signed-off-by: Paul Moore <paul@paul-moore.com>
security/selinux/ss/policydb.c

index 8c661f0..ace6838 100644 (file)
@@ -2417,6 +2417,7 @@ int policydb_read(struct policydb *p, void *fp)
                } else
                        tr->tclass = p->process_class;
 
+               rc = -EINVAL;
                if (!policydb_role_isvalid(p, tr->role) ||
                    !policydb_type_isvalid(p, tr->type) ||
                    !policydb_class_isvalid(p, tr->tclass) ||