selinux: fix memory leak in policydb_init()
authorOndrej Mosnacek <omosnace@redhat.com>
Thu, 25 Jul 2019 10:52:43 +0000 (12:52 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 6 Aug 2019 17:06:54 +0000 (19:06 +0200)
commit46650ac2e1d89687175547a9f67e1bd70eb1c924
treed4e48079fe8f923837da519eec2066c52f34b5da
parente7bb4c81b3c791c7eab7fbfc2a312c7442aad5a6
selinux: fix memory leak in policydb_init()

commit 45385237f65aeee73641f1ef737d7273905a233f upstream.

Since roles_init() adds some entries to the role hash table, we need to
destroy also its keys/values on error, otherwise we get a memory leak in
the error path.

Cc: <stable@vger.kernel.org>
Reported-by: syzbot+fee3a14d4cdf92646287@syzkaller.appspotmail.com
Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
Signed-off-by: Ondrej Mosnacek <omosnace@redhat.com>
Signed-off-by: Paul Moore <paul@paul-moore.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
security/selinux/ss/policydb.c