summaryrefslogtreecommitdiffstats
path: root/security
diff options
context:
space:
mode:
authorHeinrich Schuchardt <xypron.glpk@gmx.de>2016-06-10 23:34:26 +0200
committerJohn Johansen <john.johansen@canonical.com>2016-07-12 08:43:10 -0700
commitf4ee2def2d70692ccff0d55353df4ee594fd0017 (patch)
tree2fbd3f9b7e6d393bb2957a0d3889e33619268fb3 /security
parent58acf9d911c8831156634a44d0b022d683e1e50c (diff)
downloadlinux-f4ee2def2d70692ccff0d55353df4ee594fd0017.tar.gz
linux-f4ee2def2d70692ccff0d55353df4ee594fd0017.tar.bz2
linux-f4ee2def2d70692ccff0d55353df4ee594fd0017.zip
apparmor: do not expose kernel stack
Do not copy uninitalized fields th.td_hilen, th.td_data. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Signed-off-by: John Johansen <john.johansen@canonical.com>
Diffstat (limited to 'security')
-rw-r--r--security/apparmor/match.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/security/apparmor/match.c b/security/apparmor/match.c
index 32b72eb3d988..3f900fcca8fb 100644
--- a/security/apparmor/match.c
+++ b/security/apparmor/match.c
@@ -63,7 +63,9 @@ static struct table_header *unpack_table(char *blob, size_t bsize)
table = kvzalloc(tsize);
if (table) {
- *table = th;
+ table->td_id = th.td_id;
+ table->td_flags = th.td_flags;
+ table->td_lolen = th.td_lolen;
if (th.td_flags == YYTD_DATA8)
UNPACK_ARRAY(table->td_data, blob, th.td_lolen,
u8, byte_to_byte);