mirror of
https://gitlab.com/apparmor/apparmor.git
synced 2025-03-04 16:35:02 +01:00
34 lines
1.1 KiB
Diff
34 lines
1.1 KiB
Diff
![]() |
From e925f976c7a9c85455f67c360671254bac2d9a91 Mon Sep 17 00:00:00 2001
|
||
|
From: John Johansen <john.johansen@canonical.com>
|
||
|
Date: Wed, 15 Jun 2016 10:00:55 +0300
|
||
|
Subject: [PATCH 20/27] apparmor: fix oops in profile_unpack() when policy_db
|
||
|
is not present
|
||
|
|
||
|
BugLink: http://bugs.launchpad.net/bugs/1592547
|
||
|
|
||
|
If unpack_dfa() returns NULL due to the dfa not being present,
|
||
|
profile_unpack() is not checking if the dfa is not present (NULL).
|
||
|
|
||
|
Signed-off-by: John Johansen <john.johansen@canonical.com>
|
||
|
---
|
||
|
security/apparmor/policy_unpack.c | 3 +++
|
||
|
1 file changed, 3 insertions(+)
|
||
|
|
||
|
diff --git a/security/apparmor/policy_unpack.c b/security/apparmor/policy_unpack.c
|
||
|
index c841b12..dac2121 100644
|
||
|
--- a/security/apparmor/policy_unpack.c
|
||
|
+++ b/security/apparmor/policy_unpack.c
|
||
|
@@ -583,6 +583,9 @@ static struct aa_profile *unpack_profile(struct aa_ext *e)
|
||
|
error = PTR_ERR(profile->policy.dfa);
|
||
|
profile->policy.dfa = NULL;
|
||
|
goto fail;
|
||
|
+ } else if (!profile->policy.dfa) {
|
||
|
+ error = -EPROTO;
|
||
|
+ goto fail;
|
||
|
}
|
||
|
if (!unpack_u32(e, &profile->policy.start[0], "start"))
|
||
|
/* default start state */
|
||
|
--
|
||
|
2.7.4
|
||
|
|