diff options
author | Dan Carpenter <dan.carpenter@oracle.com> | 2015-02-04 19:34:30 +0300 |
---|---|---|
committer | Paul Moore <pmoore@redhat.com> | 2015-02-04 19:34:30 +0300 |
commit | 6eb4e2b41b264f57ee02d16ee61683952945484d (patch) | |
tree | 9ab88aee868ae4213a72b880d6e2a381c665e125 /security/selinux | |
parent | d5f3a5f6e7e7822df5680d4fe39bf0b6979a1535 (diff) | |
download | linux-6eb4e2b41b264f57ee02d16ee61683952945484d.tar.xz |
SELinux: fix error code in policydb_init()
If hashtab_create() returns a NULL pointer then we should return -ENOMEM
but instead the current code returns success.
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Acked-by: Serge Hallyn <serge.hallyn@canonical.com>
Acked-by: Stephen Smalley <sds@tycho.nsa.gov>
Signed-off-by: Paul Moore <pmoore@redhat.com>
Diffstat (limited to 'security/selinux')
-rw-r--r-- | security/selinux/ss/policydb.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/security/selinux/ss/policydb.c b/security/selinux/ss/policydb.c index bc2a586f095c..74aa224267c1 100644 --- a/security/selinux/ss/policydb.c +++ b/security/selinux/ss/policydb.c @@ -289,12 +289,16 @@ static int policydb_init(struct policydb *p) goto out; p->filename_trans = hashtab_create(filenametr_hash, filenametr_cmp, (1 << 10)); - if (!p->filename_trans) + if (!p->filename_trans) { + rc = -ENOMEM; goto out; + } p->range_tr = hashtab_create(rangetr_hash, rangetr_cmp, 256); - if (!p->range_tr) + if (!p->range_tr) { + rc = -ENOMEM; goto out; + } ebitmap_init(&p->filename_trans_ttypes); ebitmap_init(&p->policycaps); |