forked from luck/tmp_suning_uos_patched
b17dd53cac
commit dc27f3c5d10c58069672215787a96b4fae01818b upstream.
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:
|
||
---|---|---|
.. | ||
avtab.c | ||
avtab.h | ||
conditional.c | ||
conditional.h | ||
constraint.h | ||
context.c | ||
context.h | ||
ebitmap.c | ||
ebitmap.h | ||
hashtab.c | ||
hashtab.h | ||
mls_types.h | ||
mls.c | ||
mls.h | ||
policydb.c | ||
policydb.h | ||
services.c | ||
services.h | ||
sidtab.c | ||
sidtab.h | ||
symtab.c | ||
symtab.h |