From mboxrd@z Thu Jan 1 00:00:00 1970 Date: Wed, 28 Jan 2015 09:42:39 +0300 From: Dan Carpenter To: Paul Moore Subject: [patch] SELinux: fix error code in policydb_init() Message-ID: <20150128064239.GB30893@mwanda> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: selinux@tycho.nsa.gov, kernel-janitors@vger.kernel.org, linux-security-module@vger.kernel.org, Himangi Saraogi , James Morris , Namhyung Kim , Stephen Smalley List-Id: "Security-Enhanced Linux \(SELinux\) mailing list" List-Post: List-Help: If hashtab_create() returns a NULL pointer then we should return -ENOMEM but instead the current code returns success. Signed-off-by: Dan Carpenter diff --git a/security/selinux/ss/policydb.c b/security/selinux/ss/policydb.c index bc2a586..74aa224 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); From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dan Carpenter Date: Wed, 28 Jan 2015 06:42:39 +0000 Subject: [patch] SELinux: fix error code in policydb_init() Message-Id: <20150128064239.GB30893@mwanda> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: Paul Moore Cc: selinux@tycho.nsa.gov, kernel-janitors@vger.kernel.org, linux-security-module@vger.kernel.org, Himangi Saraogi , James Morris , Namhyung Kim , Stephen Smalley If hashtab_create() returns a NULL pointer then we should return -ENOMEM but instead the current code returns success. Signed-off-by: Dan Carpenter diff --git a/security/selinux/ss/policydb.c b/security/selinux/ss/policydb.c index bc2a586..74aa224 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);