diff options
author | Ondrej Mosnacek <omosnace@redhat.com> | 2021-11-19 14:45:20 +0100 |
---|---|---|
committer | Paul Moore <paul@paul-moore.com> | 2021-11-19 16:11:39 -0500 |
commit | dc27f3c5d10c58069672215787a96b4fae01818b (patch) | |
tree | 63bd602b230581896d9723016253f9cadccc8e6d /include/linux/inet_diag.h | |
parent | 32a370abf12f82c8383e430c21365f5355d8b288 (diff) | |
download | linux-stable-dc27f3c5d10c58069672215787a96b4fae01818b.tar.gz linux-stable-dc27f3c5d10c58069672215787a96b4fae01818b.tar.bz2 linux-stable-dc27f3c5d10c58069672215787a96b4fae01818b.zip |
selinux: fix NULL-pointer dereference when hashtab allocation fails
When the hash table slot array allocation fails in hashtab_init(),
h->size is left initialized with a non-zero value, but the h->htable
pointer is NULL. This may then cause a NULL pointer dereference, since
the policydb code relies on the assumption that even after a failed
hashtab_init(), hashtab_map() and hashtab_destroy() can be safely called
on it. Yet, these detect an empty hashtab only by looking at the size.
Fix this by making sure that hashtab_init() always leaves behind a valid
empty hashtab when the allocation fails.
Cc: stable@vger.kernel.org
Fixes: 03414a49ad5f ("selinux: do not allocate hashtabs dynamically")
Signed-off-by: Ondrej Mosnacek <omosnace@redhat.com>
Signed-off-by: Paul Moore <paul@paul-moore.com>
Diffstat (limited to 'include/linux/inet_diag.h')
0 files changed, 0 insertions, 0 deletions