mirror of
https://github.com/hardkernel/linux.git
synced 2026-03-30 14:27:43 +09:00
Merge tag 'selinux-pr-20211123' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/selinux
Pull SELinux fix from Paul Moore: "A fix to make sure things are handled correctly when an allocation fails" * tag 'selinux-pr-20211123' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/selinux: selinux: fix NULL-pointer dereference when hashtab allocation fails
This commit is contained in:
@@ -31,13 +31,20 @@ static u32 hashtab_compute_size(u32 nel)
|
||||
|
||||
int hashtab_init(struct hashtab *h, u32 nel_hint)
|
||||
{
|
||||
h->size = hashtab_compute_size(nel_hint);
|
||||
h->nel = 0;
|
||||
if (!h->size)
|
||||
return 0;
|
||||
u32 size = hashtab_compute_size(nel_hint);
|
||||
|
||||
h->htable = kcalloc(h->size, sizeof(*h->htable), GFP_KERNEL);
|
||||
return h->htable ? 0 : -ENOMEM;
|
||||
/* should already be zeroed, but better be safe */
|
||||
h->nel = 0;
|
||||
h->size = 0;
|
||||
h->htable = NULL;
|
||||
|
||||
if (size) {
|
||||
h->htable = kcalloc(size, sizeof(*h->htable), GFP_KERNEL);
|
||||
if (!h->htable)
|
||||
return -ENOMEM;
|
||||
h->size = size;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
int __hashtab_insert(struct hashtab *h, struct hashtab_node **dst,
|
||||
|
||||
Reference in New Issue
Block a user