lkdtm: fix memory leak of base

This case is supposed to read from a memory after it has been freed,
but we missed freeing base if the memory 'val' could not be allocated.

Signed-off-by: Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
Signed-off-by: Kees Cook <keescook@chromium.org>
This commit is contained in:
Sudip Mukherjee 2016-04-05 22:41:06 +05:30 committed by Kees Cook
parent 50fbd97773
commit d2e10088ce

View File

@ -458,8 +458,10 @@ static void lkdtm_do_action(enum ctype which)
break; break;
val = kmalloc(len, GFP_KERNEL); val = kmalloc(len, GFP_KERNEL);
if (!val) if (!val) {
kfree(base);
break; break;
}
*val = 0x12345678; *val = 0x12345678;
base[offset] = *val; base[offset] = *val;