lkml.org 
[lkml]   [2016]   [Mar]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] selinux: fix memory leak on node_ptr on error return path
Quoting Colin King (colin.king@canonical.com):
> From: Colin Ian King <colin.king@canonical.com>
>
> node_ptr is not being free'd if the list allocation fails, fix
> this by kfree'ing it before exiting on the error path.
>
> Signed-off-by: Colin Ian King <colin.king@canonical.com>

Hi,

I'm not very familiar with this code any more, but are you sure
this is needed and doesn't cause a new bug? It *looks* like
the avtab_insert_nonunique() actually inserts the node_ptr
into the policydb, and the policydb is the one that should
eventually free it.

> ---
> security/selinux/ss/conditional.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/security/selinux/ss/conditional.c b/security/selinux/ss/conditional.c
> index 456e1a9..5d010ef 100644
> --- a/security/selinux/ss/conditional.c
> +++ b/security/selinux/ss/conditional.c
> @@ -332,6 +332,7 @@ static int cond_insertf(struct avtab *a, struct avtab_key *k, struct avtab_datum
> list = kzalloc(sizeof(struct cond_av_list), GFP_KERNEL);
> if (!list) {
> rc = -ENOMEM;
> + kfree(node_ptr);
> goto err;
> }
>
> --
> 2.7.3

\
 
 \ /
  Last update: 2016-03-22 21:41    [W:0.049 / U:0.264 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site