aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDan Carpenter <dan.carpenter@oracle.com>2015-02-04 11:34:30 -0500
committerPaul Moore <pmoore@redhat.com>2015-02-04 11:34:30 -0500
commit6eb4e2b41b264f57ee02d16ee61683952945484d (patch)
tree9ab88aee868ae4213a72b880d6e2a381c665e125
parentd5f3a5f6e7e7822df5680d4fe39bf0b6979a1535 (diff)
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>
-rw-r--r--security/selinux/ss/policydb.c8
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)
289 goto out; 289 goto out;
290 290
291 p->filename_trans = hashtab_create(filenametr_hash, filenametr_cmp, (1 << 10)); 291 p->filename_trans = hashtab_create(filenametr_hash, filenametr_cmp, (1 << 10));
292 if (!p->filename_trans) 292 if (!p->filename_trans) {
293 rc = -ENOMEM;
293 goto out; 294 goto out;
295 }
294 296
295 p->range_tr = hashtab_create(rangetr_hash, rangetr_cmp, 256); 297 p->range_tr = hashtab_create(rangetr_hash, rangetr_cmp, 256);
296 if (!p->range_tr) 298 if (!p->range_tr) {
299 rc = -ENOMEM;
297 goto out; 300 goto out;
301 }
298 302
299 ebitmap_init(&p->filename_trans_ttypes); 303 ebitmap_init(&p->filename_trans_ttypes);
300 ebitmap_init(&p->policycaps); 304 ebitmap_init(&p->policycaps);